From a68f31edd71cc39141113f05f7133a3e9ece8c61 Mon Sep 17 00:00:00 2001 From: ddh0 Date: Mon, 15 Sep 2025 02:54:57 -0500 Subject: [PATCH 01/52] fix KLD percentile output (#15999) In `llama-perplexity`, when using `--kl-divergence`, the KL divergence statistics output mistakenly displays the 99th percentile twice. This change fixes that and correctly displays the 90th percentile as originally intended (presumably). --- tools/perplexity/perplexity.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perplexity/perplexity.cpp b/tools/perplexity/perplexity.cpp index 80cbb095da..c9fd082db9 100644 --- a/tools/perplexity/perplexity.cpp +++ b/tools/perplexity/perplexity.cpp @@ -1931,7 +1931,7 @@ static void kl_divergence(llama_context * ctx, const common_params & params) { LOG("Maximum KLD: %10.6f\n", kld_values.back()); LOG("99.9%% KLD: %10.6f\n", percentile(kld_values, 0.999f)); LOG("99.0%% KLD: %10.6f\n", percentile(kld_values, 0.990f)); - LOG("99.0%% KLD: %10.6f\n", percentile(kld_values, 0.990f)); + LOG("90.0%% KLD: %10.6f\n", percentile(kld_values, 0.900f)); LOG("Median KLD: %10.6f\n", kld_median); LOG("10.0%% KLD: %10.6f\n", percentile(kld_values, 0.100f)); LOG(" 5.0%% KLD: %10.6f\n", percentile(kld_values, 0.050f)); From 106220562aca42b6738b8f51acfce0db1b8a2fb6 Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Mon, 15 Sep 2025 17:35:11 +0800 Subject: [PATCH 02/52] CUDA: some micro-optimizations in mmf.cuh for mul_mat_id (#15926) --- ggml/src/ggml-cuda/mmf.cuh | 58 +++++++++++++++----------------------- 1 file changed, 23 insertions(+), 35 deletions(-) diff --git a/ggml/src/ggml-cuda/mmf.cuh b/ggml/src/ggml-cuda/mmf.cuh index bf724bc57b..61e3bf3015 100644 --- a/ggml/src/ggml-cuda/mmf.cuh +++ b/ggml/src/ggml-cuda/mmf.cuh @@ -57,31 +57,33 @@ static __global__ void mul_mat_f( T * tile_xy = (T *) compute_base + threadIdx.y*(tile_A::I * tile_k_padded); if constexpr (has_ids) { - __shared__ int has_any; - if (threadIdx.y == 0) { - int local_has_any = 0; - for (int j = threadIdx.x; j < cols_per_block; j += warp_size) { - int slot = -1; - for (int k = 0; k < nchannels_dst; ++k) { - const int idv = ids[j*stride_row_id + k*stride_col_id]; - if (idv == expert_idx) { - slot = k; - break; - } - } - if (j < cols_per_block) { - local_has_any |= (slot >= 0); - slot_map[j] = slot; + int found = 0; + + for (int j0 = 0; j0 < cols_per_block; j0 += nwarps) { + const int j = j0 + threadIdx.y; + const int32_t * __restrict__ id_row = ids + j*stride_row_id; + + if (threadIdx.x == 0) { + slot_map[j] = -1; + } + + for (int k = threadIdx.x; k < nchannels_dst; k += warp_size) { + int match = id_row[k*stride_col_id] == expert_idx; + + if (match) { + slot_map[j] = k; + found = 1; + break; } } - has_any = warp_reduce_any(local_has_any); } - __syncthreads(); - if (has_any == 0) { + + if (!__syncthreads_or(found)) { return; } } + for (int col = threadIdx.y*warp_size + threadIdx.x; col < ncols; col += nwarps*warp_size) { tile_A A[ntA][warp_size / tile_A::J]; #pragma unroll @@ -106,14 +108,7 @@ static __global__ void mul_mat_f( if constexpr (!has_ids) { tile_xy[j0*tile_k_padded + threadIdx.x] = j < cols_per_block ? y[j*stride_col_y + col] : 0.0f; } else { - float val = 0.0f; - if (j < cols_per_block) { - const int slot = slot_map[j]; - if (slot >= 0) { - val = y[slot*stride_channel_y + j*stride_col_y + col]; - } - } - tile_xy[j0*tile_k_padded + threadIdx.x] = val; + tile_xy[j0*tile_k_padded + threadIdx.x] = j < cols_per_block ? y[slot_map[j]*stride_channel_y + j*stride_col_y + col] : 0.0f; } } } else if constexpr (std::is_same_v || std::is_same_v) { @@ -125,14 +120,7 @@ static __global__ void mul_mat_f( 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}; } else { - float2 tmp = make_float2(0.0f, 0.0f); - if (j < cols_per_block) { - const int slot = slot_map[j]; - if (slot >= 0) { - const float2 * y2_slot = (const float2 *)(y + slot*stride_channel_y); - tmp = y2_slot[j*stride_col_y + col]; - } - } + float2 tmp = j < cols_per_block && slot_map[j] >= 0 ? *(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}; } } @@ -221,7 +209,7 @@ static inline void mul_mat_f_switch_ids( const dim3 & block_nums, const dim3 & block_dims, const int nbytes_shared_total, cudaStream_t stream) { if (ids) { mul_mat_f<<>> - (x, y, ids, dst, ncols_x, nchannels_dst, stride_row, stride_col_y, stride_col_dst, + (x, y, ids, dst, ncols_x, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst); } else { From 28c39da7c645185ade5436767929d7ec33006033 Mon Sep 17 00:00:00 2001 From: Nikolay Popov <131475237+npopov-vst@users.noreply.github.com> Date: Mon, 15 Sep 2025 13:08:30 +0300 Subject: [PATCH 03/52] llama-run: Fix model download on Windows (#15988) * llama-run: Fix model download on Windows * fix SSL error (SSL peer certificate or SSH remote key was not OK) * fix program crash on std::filesystem::rename * llama-run: create a separate method to utilize RAII * llama-run: handle rename exception --- tools/run/run.cpp | 72 +++++++++++++++++++++++++++++++---------------- 1 file changed, 47 insertions(+), 25 deletions(-) diff --git a/tools/run/run.cpp b/tools/run/run.cpp index 6fe728c685..772d66c921 100644 --- a/tools/run/run.cpp +++ b/tools/run/run.cpp @@ -407,39 +407,22 @@ class HttpClient { } std::string output_file_partial; - curl = curl_easy_init(); - if (!curl) { - return 1; - } - progress_data data; - File out; if (!output_file.empty()) { output_file_partial = output_file + ".partial"; - if (!out.open(output_file_partial, "ab")) { - printe("Failed to open file for writing\n"); - - return 1; - } - - if (out.lock()) { - printe("Failed to exclusively lock file\n"); - - return 1; - } } - set_write_options(response_str, out); - data.file_size = set_resume_point(output_file_partial); - set_progress_options(progress, data); - set_headers(headers); - CURLcode res = perform(url); - if (res != CURLE_OK){ - printe("Fetching resource '%s' failed: %s\n", url.c_str(), curl_easy_strerror(res)); + if (download(url, headers, output_file_partial, progress, response_str)) { return 1; } + if (!output_file.empty()) { - std::filesystem::rename(output_file_partial, output_file); + try { + std::filesystem::rename(output_file_partial, output_file); + } catch (const std::filesystem::filesystem_error & e) { + printe("Failed to rename '%s' to '%s': %s\n", output_file_partial.c_str(), output_file.c_str(), e.what()); + return 1; + } } return 0; @@ -459,6 +442,42 @@ class HttpClient { CURL * curl = nullptr; struct curl_slist * chunk = nullptr; + int download(const std::string & url, const std::vector & headers, const std::string & output_file, + const bool progress, std::string * response_str = nullptr) { + curl = curl_easy_init(); + if (!curl) { + return 1; + } + + progress_data data; + File out; + if (!output_file.empty()) { + if (!out.open(output_file, "ab")) { + printe("Failed to open file for writing\n"); + + return 1; + } + + if (out.lock()) { + printe("Failed to exclusively lock file\n"); + + return 1; + } + } + + set_write_options(response_str, out); + data.file_size = set_resume_point(output_file); + set_progress_options(progress, data); + set_headers(headers); + CURLcode res = perform(url); + if (res != CURLE_OK){ + printe("Fetching resource '%s' failed: %s\n", url.c_str(), curl_easy_strerror(res)); + return 1; + } + + return 0; + } + void set_write_options(std::string * response_str, const File & out) { if (response_str) { curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, capture_data); @@ -507,6 +526,9 @@ class HttpClient { curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https"); curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1L); +#ifdef _WIN32 + curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, CURLSSLOPT_NATIVE_CA); +#endif return curl_easy_perform(curl); } From b907255f4bd169b0dc7dca9553b4c54af5170865 Mon Sep 17 00:00:00 2001 From: yael-works <106673277+yael-works@users.noreply.github.com> Date: Mon, 15 Sep 2025 19:51:35 +0300 Subject: [PATCH 04/52] SYCL: Add COUNT_EQUAL operator support (#15991) * SYCL: Add COUNT_EQUAL operator support (rebased on master) * SYCL: remove duplicate op_count_equal definition * tests: remove test_count_equal_typed and use test_count_equal for all cases * tests: keep only I32 case for COUNT_EQUAL as suggested * tests: keep only I32 case for COUNT_EQUAL as requested --- ggml/src/ggml-sycl/binbcast.cpp | 9 +++++++++ ggml/src/ggml-sycl/binbcast.hpp | 6 ++++++ ggml/src/ggml-sycl/ggml-sycl.cpp | 4 ++++ 3 files changed, 19 insertions(+) diff --git a/ggml/src/ggml-sycl/binbcast.cpp b/ggml/src/ggml-sycl/binbcast.cpp index 0a3883ae1e..e0a1de0f32 100644 --- a/ggml/src/ggml-sycl/binbcast.cpp +++ b/ggml/src/ggml-sycl/binbcast.cpp @@ -303,6 +303,10 @@ inline void ggml_sycl_op_sub(ggml_backend_sycl_context & ctx, ggml_tensor *dst) ggml_sycl_op_bin_bcast>(ctx, dst->src[0], dst->src[1], dst); } +inline void ggml_sycl_op_count_equal(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { + ggml_sycl_op_bin_bcast>(ctx, dst->src[0], dst->src[1], dst); +} + inline void ggml_sycl_op_mul(ggml_backend_sycl_context & ctx, ggml_tensor *dst) { ggml_sycl_op_bin_bcast>(ctx, dst->src[0], dst->src[1], dst); @@ -328,6 +332,11 @@ void ggml_sycl_sub(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { ggml_sycl_op_sub(ctx, dst); } +void ggml_sycl_count_equal(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { + scope_op_debug_print scope_dbg_print(__func__, dst, /*num_src=*/2); + ggml_sycl_op_count_equal(ctx, dst); +} + void ggml_sycl_mul(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { scope_op_debug_print scope_dbg_print(__func__, dst, /*num_src=*/2); ggml_sycl_op_mul(ctx, dst); diff --git a/ggml/src/ggml-sycl/binbcast.hpp b/ggml/src/ggml-sycl/binbcast.hpp index 9cce0f053a..34c4064f52 100644 --- a/ggml/src/ggml-sycl/binbcast.hpp +++ b/ggml/src/ggml-sycl/binbcast.hpp @@ -16,6 +16,12 @@ static __dpct_inline__ float op_sub(const float a, const float b) { return a - b; } +static __dpct_inline__ float op_count_equal(const float a, const float b) { + return (a == b) ? 1.0f : 0.0f; +} + +void ggml_sycl_count_equal(ggml_backend_sycl_context & ctx, ggml_tensor * dst); + static __dpct_inline__ float op_mul(const float a, const float b) { return a * b; } diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index e06ec613fc..9404e3ff4a 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -3577,6 +3577,9 @@ static bool ggml_sycl_compute_forward(ggml_backend_sycl_context & ctx, struct gg case GGML_OP_SUB: ggml_sycl_sub(ctx, dst); break; + case GGML_OP_COUNT_EQUAL: + ggml_sycl_count_equal(ctx, dst); + break; case GGML_OP_ACC: ggml_sycl_acc(ctx, dst); break; @@ -4356,6 +4359,7 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g case GGML_OP_ADD: case GGML_OP_ADD1: case GGML_OP_SUB: + case GGML_OP_COUNT_EQUAL: case GGML_OP_MUL: case GGML_OP_DIV: case GGML_OP_REPEAT: From 10d197409bd9537ff302ad09966fe406882fef9d Mon Sep 17 00:00:00 2001 From: Diego Devesa Date: Mon, 15 Sep 2025 14:38:42 -0700 Subject: [PATCH 05/52] releases : switch to rocWMMA develop branch, add gfx1151 (#15992) * releases : switch to rocWMMA develop branch, add gfx1151 * remove unused variable ROCM_VERSION --- .github/workflows/release.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e959209ab2..f461456edf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -530,15 +530,13 @@ jobs: runs-on: windows-2022 env: - # The ROCm version must correspond to the version used in the HIP SDK. - ROCM_VERSION: "6.4.2" HIPSDK_INSTALLER_VERSION: "25.Q3" strategy: matrix: include: - name: "radeon" - gpu_targets: "gfx1200;gfx1201;gfx1100;gfx1101;gfx1102;gfx1030;gfx1031;gfx1032" + gpu_targets: "gfx1151;gfx1200;gfx1201;gfx1100;gfx1101;gfx1102;gfx1030;gfx1031;gfx1032" steps: - name: Clone @@ -548,7 +546,7 @@ jobs: - name: Clone rocWMMA repository id: clone_rocwmma run: | - git clone https://github.com/rocm/rocwmma --branch rocm-${{ env.ROCM_VERSION }} --depth 1 + git clone https://github.com/rocm/rocwmma --branch develop --depth 1 - name: Cache ROCm Installation id: cache-rocm From dc381aa9a6dc45f00673471d34b8bddd30e77570 Mon Sep 17 00:00:00 2001 From: Diego Devesa Date: Mon, 15 Sep 2025 14:38:52 -0700 Subject: [PATCH 06/52] docker : enable rocWMMA in ROCm images, add gfx1151 (#15997) --- .devops/rocm.Dockerfile | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/.devops/rocm.Dockerfile b/.devops/rocm.Dockerfile index 221077197d..106c62b4dc 100644 --- a/.devops/rocm.Dockerfile +++ b/.devops/rocm.Dockerfile @@ -17,14 +17,11 @@ FROM ${BASE_ROCM_DEV_CONTAINER} AS build # gfx906 is deprecated #check https://rocm.docs.amd.com/projects/install-on-linux/en/docs-6.4.1/reference/system-requirements.html -ARG ROCM_DOCKER_ARCH='gfx803,gfx900,gfx906,gfx908,gfx90a,gfx942,gfx1010,gfx1030,gfx1032,gfx1100,gfx1101,gfx1102,gfx1200,gfx1201' -#ARG ROCM_DOCKER_ARCH=gfx1100 +ARG ROCM_DOCKER_ARCH='gfx803;gfx900;gfx906;gfx908;gfx90a;gfx942;gfx1010;gfx1030;gfx1032;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201;gfx1151' +#ARG ROCM_DOCKER_ARCH='gfx1151' -# Set ROCm architectured +# Set ROCm architectures ENV AMDGPU_TARGETS=${ROCM_DOCKER_ARCH} -# Enable ROCm -# ENV CC=/opt/rocm/llvm/bin/clang -# ENV CXX=/opt/rocm/llvm/bin/clang++ RUN apt-get update \ && apt-get install -y \ @@ -39,8 +36,16 @@ WORKDIR /app COPY . . +RUN git clone https://github.com/rocm/rocwmma --branch develop --depth 1 + RUN HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" \ - cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=$ROCM_DOCKER_ARCH -DGGML_BACKEND_DL=ON -DGGML_CPU_ALL_VARIANTS=ON -DCMAKE_BUILD_TYPE=Release -DLLAMA_BUILD_TESTS=OFF \ + cmake -S . -B build \ + -DGGML_HIP=ON \ + -DGGML_HIP_ROCWMMA_FATTN=ON \ + -DCMAKE_HIP_FLAGS="-I$(pwd)/rocwmma/library/include/" \ + -DAMDGPU_TARGETS="$ROCM_DOCKER_ARCH" \ + -DGGML_BACKEND_DL=ON -DGGML_CPU_ALL_VARIANTS=ON \ + -DCMAKE_BUILD_TYPE=Release -DLLAMA_BUILD_TESTS=OFF \ && cmake --build build --config Release -j$(nproc) RUN mkdir -p /app/lib \ From 3d4053f77f0f78ee2b791088c02af653ebee42dd Mon Sep 17 00:00:00 2001 From: Jake Karnes Date: Mon, 15 Sep 2025 16:28:31 -0600 Subject: [PATCH 07/52] CUDA: fix im2col_3d to respect non-contiguous inputs (views) (#15956) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix im2col_3d to respect non-contiguous inputs (views) The CUDA 3D im2col kernel computed source addresses assuming compact layout (products of dims), ignoring nb[] strides. This patch switches im2col_3d source indexing to use true strides derived from src1->nb[] (in elements), mirroring the approach used in the 2D CUDA im2col path. Destination indexing is unchanged. * use ggml_element_size() for src strides Co-authored-by: Johannes Gäßler --------- Co-authored-by: Johannes Gäßler --- ggml/src/ggml-cuda/im2col.cu | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/ggml/src/ggml-cuda/im2col.cu b/ggml/src/ggml-cuda/im2col.cu index 7737d6a5d5..56dc054574 100644 --- a/ggml/src/ggml-cuda/im2col.cu +++ b/ggml/src/ggml-cuda/im2col.cu @@ -122,11 +122,14 @@ static __global__ void im2col_3d_kernel( int64_t OH_OW, int64_t KD_KH_KW, int64_t ID_IH_IW, int64_t KH_KW, int64_t IH_IW, int64_t IC_ID_IH_IW, int64_t IC_KD_KH_KW, int64_t OW_KD_KH_KW, int64_t OD_OH_OW_IC_KD_KH_KW, int64_t OH_OW_IC_KD_KH_KW, int64_t OW_IC_KD_KH_KW, int64_t N_OD_OH, int64_t OD_OH, + int64_t stride_q, int64_t stride_z, int64_t stride_y, int64_t stride_x, int s0, int s1, int s2, int p0, int p1, int p2, int d0, int d1, int d2) { const int64_t i = threadIdx.x + blockIdx.x * blockDim.x; if (i >= IC_KD_KH_KW) { return; } + GGML_UNUSED(N); GGML_UNUSED(OC); GGML_UNUSED(OH_OW); GGML_UNUSED(OD); GGML_UNUSED(OW); GGML_UNUSED(KD); GGML_UNUSED(KH); + GGML_UNUSED(ID_IH_IW); GGML_UNUSED(IH_IW); GGML_UNUSED(IC_ID_IH_IW); GGML_UNUSED(OW_KD_KH_KW); const int64_t iic = i / KD_KH_KW; const int64_t ikd = (i - iic * KD_KH_KW) / KH_KW; @@ -148,7 +151,7 @@ static __global__ void im2col_3d_kernel( if (iih < 0 || iih >= IH || iiw < 0 || iiw >= IW || iid < 0 || iid >= ID) { dst[offset_dst] = 0.0f; } else { - const int64_t offset_src = in*IC_ID_IH_IW + iic*ID_IH_IW + iid*IH_IW + iih*IW + iiw; + const int64_t offset_src = ((in * IC + iic) * stride_q) + (iid * stride_z) + (iih * stride_y) + (iiw * stride_x); dst[offset_dst] = src[offset_src]; } } @@ -159,6 +162,7 @@ template static void im2col_3d_cuda(const float * src, T* dst, int64_t N, int64_t IC, int64_t ID, int64_t IH, int64_t IW, int64_t OC, int64_t KD, int64_t KH, int64_t KW, int64_t OD, int64_t OH, int64_t OW, + int64_t stride_q, int64_t stride_z, int64_t stride_y, int64_t stride_x, int s0, int s1, int s2, int p0, int p1, int p2, int d0, int d1, int d2, cudaStream_t stream) { const int64_t OH_OW = OH*OW; const int64_t KD_KH_KW = KD*KH*KW; @@ -179,23 +183,30 @@ static void im2col_3d_cuda(const float * src, T* dst, OH_OW, KD_KH_KW, ID_IH_IW, KH_KW, IH_IW, IC_ID_IH_IW, IC_KD_KH_KW, OW_KD_KH_KW, OD_OH_OW_IC_KD_KH_KW, OH_OW_IC_KD_KH_KW, OW_IC_KD_KH_KW, N_OD_OH, OD_OH, + stride_q, stride_z, stride_y, stride_x, s0, s1, s2, p0, p1, p2, d0, d1, d2); } static void im2col_3d_cuda_f16(const float * src, half * dst, int64_t N, int64_t IC, int64_t ID, int64_t IH, int64_t IW, int64_t OC, int64_t KD, int64_t KH, int64_t KW, int64_t OD, int64_t OH, int64_t OW, + int64_t stride_q, int64_t stride_z, int64_t stride_y, int64_t stride_x, int s0, int s1, int s2, int p0, int p1, int p2, int d0, int d1, int d2, cudaStream_t stream) { - im2col_3d_cuda(src, dst, N, IC, ID, IH, IW, OC, KD, KH, KW, OD, OH, OW, s0, s1, s2, p0, p1, p2, d0, d1, d2, stream); + im2col_3d_cuda(src, dst, N, IC, ID, IH, IW, OC, KD, KH, KW, OD, OH, OW, + stride_q, stride_z, stride_y, stride_x, + s0, s1, s2, p0, p1, p2, d0, d1, d2, stream); } static void im2col_3d_cuda_f32(const float * src, float * dst, int64_t N, int64_t IC, int64_t ID, int64_t IH, int64_t IW, int64_t OC, int64_t KD, int64_t KH, int64_t KW, int64_t OD, int64_t OH, int64_t OW, + int64_t stride_q, int64_t stride_z, int64_t stride_y, int64_t stride_x, int s0, int s1, int s2, int p0, int p1, int p2, int d0, int d1, int d2, cudaStream_t stream) { - im2col_3d_cuda(src, dst, N, IC, ID, IH, IW, OC, KD, KH, KW, OD, OH, OW, s0, s1, s2, p0, p1, p2, d0, d1, d2, stream); + im2col_3d_cuda(src, dst, N, IC, ID, IH, IW, OC, KD, KH, KW, OD, OH, OW, + stride_q, stride_z, stride_y, stride_x, + s0, s1, s2, p0, p1, p2, d0, d1, d2, stream); } void ggml_cuda_op_im2col_3d(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { @@ -235,9 +246,19 @@ void ggml_cuda_op_im2col_3d(ggml_backend_cuda_context & ctx, ggml_tensor * dst) const int64_t OH = ne2; const int64_t OW = ne1; + const size_t es = ggml_element_size(src1); + const int64_t stride_x = src1->nb[0] / es; + const int64_t stride_y = src1->nb[1] / es; + const int64_t stride_z = src1->nb[2] / es; + const int64_t stride_q = src1->nb[3] / es; + if(dst->type == GGML_TYPE_F16) { - im2col_3d_cuda_f16(src1_d, (half *) dst_d, N, IC, ID, IH, IW, OC, KD, KH, KW, OD, OH, OW, s0, s1, s2, p0, p1, p2, d0, d1, d2, stream); + im2col_3d_cuda_f16(src1_d, (half *) dst_d, N, IC, ID, IH, IW, OC, KD, KH, KW, OD, OH, OW, + stride_q, stride_z, stride_y, stride_x, + s0, s1, s2, p0, p1, p2, d0, d1, d2, stream); } else { - im2col_3d_cuda_f32(src1_d, (float *) dst_d, N, IC, ID, IH, IW, OC, KD, KH, KW, OD, OH, OW, s0, s1, s2, p0, p1, p2, d0, d1, d2, stream); + im2col_3d_cuda_f32(src1_d, (float *) dst_d, N, IC, ID, IH, IW, OC, KD, KH, KW, OD, OH, OW, + stride_q, stride_z, stride_y, stride_x, + s0, s1, s2, p0, p1, p2, d0, d1, d2, stream); } } From 6d758839ff741d4966ca92b7f801b7a8b5b96364 Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Tue, 16 Sep 2025 10:38:28 +0800 Subject: [PATCH 08/52] Add LLaDA-7b-MoE diffusion model (#16003) --- common/arg.cpp | 2 +- convert_hf_to_gguf.py | 73 +++++++++++ convert_hf_to_gguf_update.py | 1 + examples/diffusion/diffusion-cli.cpp | 24 ++-- gguf-py/gguf/constants.py | 19 +++ src/llama-arch.cpp | 22 ++++ src/llama-arch.h | 1 + src/llama-model.cpp | 179 +++++++++++++++++++++++++++ src/llama-vocab.cpp | 3 +- 9 files changed, 315 insertions(+), 9 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index c15008fe79..19189d8f9f 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -1704,7 +1704,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params, const std::string & value) { params.system_prompt = value; } - ).set_examples({LLAMA_EXAMPLE_MAIN})); + ).set_examples({LLAMA_EXAMPLE_MAIN, LLAMA_EXAMPLE_DIFFUSION})); add_opt(common_arg( {"--no-perf"}, string_format("disable internal libllama performance timings (default: %s)", params.no_perf ? "true" : "false"), diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 855789f1ba..5a21ba2110 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -888,6 +888,9 @@ class TextModel(ModelBase): if chkhsh == "a1e163ecab2e718a4c829d1148b6e86824ec36163bb71941c3dca9cd5ac25756": # ref: https://huggingface.co/JetBrains/Mellum-4b-base res = "mellum" + if chkhsh == "9b1be57e70d20d9501b2b3186e792d81181ae36ada3903c26f9fea418cf87206": + # ref: https://huggingface.co/inclusionAI/LLaDA-MoE-7B-A1B-Base + res = "llada-moe" if res is None: logger.warning("\n") @@ -8239,6 +8242,76 @@ class HunYuanMoEModel(TextModel): raise ValueError(f"Unprocessed experts: {experts}") +@ModelBase.register("LLaDAMoEModel", "LLaDAMoEModelLM") +class LLaDAMoEModel(TextModel): + model_arch = gguf.MODEL_ARCH.LLADA_MOE + + def set_gguf_parameters(self): + super().set_gguf_parameters() + if (n_experts := self.hparams.get("num_experts")) is not None: + self.gguf_writer.add_expert_count(n_experts) + + if (expert_intermediate_size := self.hparams.get("expert_intermediate_size")) is not None: + self.gguf_writer.add_expert_feed_forward_length(expert_intermediate_size) + + # number of experts used per token (top-k) + if (n_experts_used := self.hparams.get("num_experts_per_tok")) is not None: + self.gguf_writer.add_expert_used_count(n_experts_used) + + self.gguf_writer.add_mask_token_id(156895) + self.gguf_writer.add_causal_attention(False) + self.gguf_writer.add_diffusion_shift_logits(False) + + _experts: list[dict[str, Tensor]] | None = None + + # Copied from: Qwen2MoeModel + def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]: + # process the experts separately + if name.find("experts") != -1: + n_experts = self.hparams["num_experts"] + assert bid is not None + + if self._experts is None: + self._experts = [{} for _ in range(self.block_count)] + + self._experts[bid][name] = data_torch + + if len(self._experts[bid]) >= n_experts * 3: + tensors: list[tuple[str, Tensor]] = [] + + # merge the experts into a single 3d tensor + for w_name in ["down_proj", "gate_proj", "up_proj"]: + datas: list[Tensor] = [] + + for xid in range(n_experts): + ename = f"model.layers.{bid}.mlp.experts.{xid}.{w_name}.weight" + datas.append(self._experts[bid][ename]) + del self._experts[bid][ename] + + data_torch = torch.stack(datas, dim=0) + + merged_name = f"model.layers.{bid}.mlp.experts.{w_name}.weight" + + new_name = self.map_tensor_name(merged_name) + + tensors.append((new_name, data_torch)) + return tensors + else: + return [] + + return [(self.map_tensor_name(name), data_torch)] + + # Copied from: Qwen2MoeModel + def prepare_tensors(self): + super().prepare_tensors() + + if self._experts is not None: + # flatten `list[dict[str, Tensor]]` into `list[str]` + experts = [k for d in self._experts for k in d.keys()] + if len(experts) > 0: + raise ValueError(f"Unprocessed experts: {experts}") + + @ModelBase.register("HunYuanDenseV1ForCausalLM") class HunYuanModel(TextModel): model_arch = gguf.MODEL_ARCH.HUNYUAN_DENSE diff --git a/convert_hf_to_gguf_update.py b/convert_hf_to_gguf_update.py index eb8fdfa7e1..21bb4a9f3e 100755 --- a/convert_hf_to_gguf_update.py +++ b/convert_hf_to_gguf_update.py @@ -139,6 +139,7 @@ models = [ {"name": "lfm2", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/LiquidAI/LFM2-Tokenizer"}, {"name": "exaone4", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/LGAI-EXAONE/EXAONE-4.0-32B", }, {"name": "mellum", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/JetBrains/Mellum-4b-base", }, + {"name": "llada-moe", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/inclusionAI/LLaDA-MoE-7B-A1B-Base", }, ] # some models are known to be broken upstream, so we will skip them as exceptions diff --git a/examples/diffusion/diffusion-cli.cpp b/examples/diffusion/diffusion-cli.cpp index abf7fb3573..273942a165 100644 --- a/examples/diffusion/diffusion-cli.cpp +++ b/examples/diffusion/diffusion-cli.cpp @@ -510,19 +510,27 @@ static void diffusion_generate(llama_context * ctx, n_generated = params.max_length; } -static std::string format_input_text(const std::string & prompt, bool use_chat_template, llama_model * model) { +static std::string format_input_text(const std::string & prompt, const std::string & system_prompt, bool use_chat_template, llama_model * model) { if (!use_chat_template) { return prompt; } auto chat_templates = common_chat_templates_init(model, ""); - common_chat_templates_inputs inputs; - common_chat_msg user_msg; - user_msg.role = "user"; - user_msg.content = prompt; - inputs.add_generation_prompt = true; + common_chat_msg system_msg; + + if (!system_prompt.empty()) { + system_msg.role = "system"; + system_msg.content = system_prompt; + inputs.messages.push_back(system_msg); + } + + common_chat_msg user_msg; + user_msg.role = "user"; + user_msg.content = prompt; + inputs.messages.push_back(user_msg); + inputs.add_generation_prompt = true; auto result = common_chat_templates_apply(chat_templates.get(), inputs); @@ -579,7 +587,8 @@ int main(int argc, char ** argv) { llama_set_n_threads(ctx, params.cpuparams.n_threads, params.cpuparams_batch.n_threads); const llama_vocab * vocab = llama_model_get_vocab(model); - std::string formatted_prompt = format_input_text(params.prompt, params.enable_chat_template, model); + + std::string formatted_prompt = format_input_text(params.prompt, params.system_prompt, params.enable_chat_template, model); std::vector input_tokens = common_tokenize(vocab, formatted_prompt, @@ -596,6 +605,7 @@ int main(int argc, char ** argv) { } llama_token mask_token_id = llama_vocab_mask(vocab); + GGML_ASSERT(mask_token_id != LLAMA_TOKEN_NULL); bool visual_mode = params.diffusion.visual_mode; diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index c7edef919b..7e16cbcbde 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -399,6 +399,7 @@ class MODEL_ARCH(IntEnum): DREAM = auto() SMALLTHINKER = auto() LLADA = auto() + LLADA_MOE = auto() SEED_OSS = auto() @@ -735,6 +736,7 @@ MODEL_ARCH_NAMES: dict[MODEL_ARCH, str] = { MODEL_ARCH.DREAM: "dream", MODEL_ARCH.SMALLTHINKER: "smallthinker", MODEL_ARCH.LLADA: "llada", + MODEL_ARCH.LLADA_MOE: "llada-moe", MODEL_ARCH.SEED_OSS: "seed_oss", } @@ -2693,6 +2695,23 @@ MODEL_TENSORS: dict[MODEL_ARCH, list[MODEL_TENSOR]] = { MODEL_TENSOR.FFN_DOWN_EXP, MODEL_TENSOR.FFN_UP_EXP, ], + MODEL_ARCH.LLADA_MOE: [ + MODEL_TENSOR.TOKEN_EMBD, + MODEL_TENSOR.OUTPUT_NORM, + MODEL_TENSOR.OUTPUT, + MODEL_TENSOR.ATTN_OUT, + MODEL_TENSOR.ATTN_Q, + MODEL_TENSOR.ATTN_K, + MODEL_TENSOR.ATTN_V, + MODEL_TENSOR.ATTN_NORM, + MODEL_TENSOR.ATTN_Q_NORM, + MODEL_TENSOR.ATTN_K_NORM, + MODEL_TENSOR.FFN_NORM, + MODEL_TENSOR.FFN_GATE_INP, + MODEL_TENSOR.FFN_GATE_EXP, + MODEL_TENSOR.FFN_UP_EXP, + MODEL_TENSOR.FFN_DOWN_EXP, + ], # TODO } diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index 3122331d8e..a4d2973ada 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -96,6 +96,7 @@ static const std::map LLM_ARCH_NAMES = { { LLM_ARCH_DREAM, "dream" }, { LLM_ARCH_SMALLTHINKER, "smallthinker" }, { LLM_ARCH_LLADA, "llada" }, + { LLM_ARCH_LLADA_MOE, "llada-moe" }, { LLM_ARCH_SEED_OSS, "seed_oss" }, { LLM_ARCH_UNKNOWN, "(unknown)" }, }; @@ -2147,6 +2148,26 @@ static const std::map> LLM_TENSOR_N { LLM_TENSOR_FFN_UP, "blk.%d.ffn_up" }, }, }, + { + LLM_ARCH_LLADA_MOE, + { + { 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_SEED_OSS, { @@ -2427,6 +2448,7 @@ bool llm_arch_is_diffusion(const llm_arch & arch) { switch (arch) { case LLM_ARCH_DREAM: case LLM_ARCH_LLADA: + case LLM_ARCH_LLADA_MOE: return true; default: return false; diff --git a/src/llama-arch.h b/src/llama-arch.h index a4ac28b525..d181ce6784 100644 --- a/src/llama-arch.h +++ b/src/llama-arch.h @@ -100,6 +100,7 @@ enum llm_arch { LLM_ARCH_DREAM, LLM_ARCH_SMALLTHINKER, LLM_ARCH_LLADA, + LLM_ARCH_LLADA_MOE, LLM_ARCH_SEED_OSS, LLM_ARCH_UNKNOWN, }; diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 4864ed8e72..731e87383b 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -936,6 +936,18 @@ void llama_model::load_hparams(llama_model_loader & ml) { hparams.causal_attn = false; } break; + case LLM_ARCH_LLADA_MOE: + { + 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); + // diffusion language model uses non-causal attention + hparams.causal_attn = false; + switch (hparams.n_layer) { + case 16: type = LLM_TYPE_A1_7B; break; + default: type = LLM_TYPE_UNKNOWN; + } + } break; case LLM_ARCH_QWEN2MOE: { ml.get_key(LLM_KV_EXPERT_FEED_FORWARD_LENGTH, hparams.n_ff_exp, false); @@ -2387,6 +2399,40 @@ bool llama_model::load_tensors(llama_model_loader & ml) { } } break; + case LLM_ARCH_LLADA_MOE: + { + tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {n_embd, n_vocab}, 0); + + // output + output_norm = create_tensor(tn(LLM_TENSOR_OUTPUT_NORM, "weight"), {n_embd}, 0); + output = create_tensor(tn(LLM_TENSOR_OUTPUT, "weight"), {n_embd, n_vocab}, 0); + + GGML_ASSERT(n_expert > 0 && "n_expert must be > 0 for llada-moe"); + GGML_ASSERT(n_expert_used > 0 && "n_expert_used must be > 0 for llada-moe"); + + for (int i = 0; i < n_layer; ++i) { + auto & layer = layers[i]; + + layer.attn_norm = create_tensor(tn(LLM_TENSOR_ATTN_NORM, "weight", i), {n_embd}, 0); + + layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q, "weight", i), {n_embd, n_embd}, 0); + layer.wk = create_tensor(tn(LLM_TENSOR_ATTN_K, "weight", i), {n_embd, n_embd_gqa}, 0); + layer.wv = create_tensor(tn(LLM_TENSOR_ATTN_V, "weight", i), {n_embd, n_embd_gqa}, 0); + layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), {n_embd, n_embd}, 0); + layer.attn_q_norm = create_tensor(tn(LLM_TENSOR_ATTN_Q_NORM, "weight", i), {n_embd_head_k}, 0); + layer.attn_k_norm = create_tensor(tn(LLM_TENSOR_ATTN_K_NORM, "weight", i), {n_embd_head_k}, 0); + + layer.ffn_norm = create_tensor(tn(LLM_TENSOR_FFN_NORM, "weight", i), {n_embd}, 0); + + layer.ffn_gate_inp = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP, "weight", i), {n_embd, n_expert}, 0); + + const int64_t n_ff_exp = hparams.n_ff_exp ? hparams.n_ff_exp : n_ff / n_expert_used; + + layer.ffn_gate_exps = create_tensor(tn(LLM_TENSOR_FFN_GATE_EXPS, "weight", i), { n_embd, n_ff_exp, n_expert}, 0); + layer.ffn_down_exps = create_tensor(tn(LLM_TENSOR_FFN_DOWN_EXPS, "weight", i), {n_ff_exp, n_embd, n_expert}, 0); + layer.ffn_up_exps = create_tensor(tn(LLM_TENSOR_FFN_UP_EXPS, "weight", i), { n_embd, n_ff_exp, n_expert}, 0); + } + } break; case LLM_ARCH_LLAMA4: { tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {n_embd, n_vocab}, 0); @@ -12444,6 +12490,132 @@ struct llm_build_olmoe : public llm_graph_context { } }; +struct llm_build_llada_moe : public llm_graph_context { + llm_build_llada_moe(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(); + + 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); + + Kcur = build_norm(Kcur, model.layers[il].attn_k_norm, NULL, LLM_NORM_RMS, il); + cb(Kcur, "Kcur_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 = 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, NULL, + 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); + + cur = 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, false, + false, 0.0, + LLAMA_EXPERT_GATING_FUNC_TYPE_SOFTMAX, + il); + cb(cur, "ffn_moe_out", il); + + 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); + } +}; + struct llm_build_openelm : public llm_graph_context { llm_build_openelm(const llama_model & model, const llm_graph_params & params) : llm_graph_context(params) { const int64_t n_embd_head = hparams.n_embd_head_v; @@ -18636,6 +18808,7 @@ llama_memory_i * llama_model::create_memory(const llama_memory_params & params, //case LLM_ARCH_GEMMA_EMBEDDING: // TODO: disabled until the cacheless SWA logic is fixed [TAG_NO_CACHE_ISWA] case LLM_ARCH_DREAM: case LLM_ARCH_LLADA: + case LLM_ARCH_LLADA_MOE: { res = nullptr; } break; @@ -18841,6 +19014,11 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const { llm = std::make_unique(*this, params); } break; + case LLM_ARCH_LLADA_MOE: + { + llm = std::make_unique(*this, params); + } + break; case LLM_ARCH_QWEN2VL: { llm = std::make_unique(*this, params); @@ -19307,6 +19485,7 @@ llama_rope_type llama_model_rope_type(const llama_model * model) { case LLM_ARCH_QWEN2MOE: case LLM_ARCH_QWEN3: case LLM_ARCH_QWEN3MOE: + case LLM_ARCH_LLADA_MOE: case LLM_ARCH_OLMO2: case LLM_ARCH_OLMOE: case LLM_ARCH_PHI2: diff --git a/src/llama-vocab.cpp b/src/llama-vocab.cpp index b551253afb..8cb36661a0 100644 --- a/src/llama-vocab.cpp +++ b/src/llama-vocab.cpp @@ -1962,7 +1962,8 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) { pre_type = LLAMA_VOCAB_PRE_TYPE_TRILLION; clean_spaces = false; } else if ( - tokenizer_pre == "bailingmoe") { + tokenizer_pre == "bailingmoe" || + tokenizer_pre == "llada-moe") { pre_type = LLAMA_VOCAB_PRE_TYPE_BAILINGMOE; clean_spaces = false; } else if ( From 07808ebb07e2b1aa19032705e332679ddf967614 Mon Sep 17 00:00:00 2001 From: Yuri Khrustalev Date: Mon, 15 Sep 2025 22:54:44 -0400 Subject: [PATCH 09/52] cmake : Do not install tools on iOS targets (#15903) --- CMakeLists.txt | 7 +++++++ tools/batched-bench/CMakeLists.txt | 5 ++++- tools/cvector-generator/CMakeLists.txt | 5 ++++- tools/export-lora/CMakeLists.txt | 5 ++++- tools/gguf-split/CMakeLists.txt | 5 ++++- tools/imatrix/CMakeLists.txt | 5 ++++- tools/llama-bench/CMakeLists.txt | 5 ++++- tools/main/CMakeLists.txt | 5 ++++- tools/mtmd/CMakeLists.txt | 2 +- tools/perplexity/CMakeLists.txt | 5 ++++- tools/quantize/CMakeLists.txt | 5 ++++- tools/run/CMakeLists.txt | 4 +++- tools/tokenize/CMakeLists.txt | 4 +++- tools/tts/CMakeLists.txt | 5 ++++- 14 files changed, 54 insertions(+), 13 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 36a2078e4c..4720e1f1a2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,6 +58,12 @@ if (MSVC) add_compile_options("$<$:/bigobj>") endif() +if (CMAKE_SYSTEM_NAME STREQUAL "iOS") + set(LLAMA_TOOLS_INSTALL_DEFAULT OFF) +else() + set(LLAMA_TOOLS_INSTALL_DEFAULT ${LLAMA_STANDALONE}) +endif() + # # option list # @@ -82,6 +88,7 @@ option(LLAMA_BUILD_TESTS "llama: build tests" ${LLAMA_STANDALONE}) option(LLAMA_BUILD_TOOLS "llama: build tools" ${LLAMA_STANDALONE}) option(LLAMA_BUILD_EXAMPLES "llama: build examples" ${LLAMA_STANDALONE}) option(LLAMA_BUILD_SERVER "llama: build server example" ${LLAMA_STANDALONE}) +option(LLAMA_TOOLS_INSTALL "llama: install tools" ${LLAMA_TOOLS_INSTALL_DEFAULT}) # 3rd party libs option(LLAMA_CURL "llama: use libcurl to download model from an URL" ON) diff --git a/tools/batched-bench/CMakeLists.txt b/tools/batched-bench/CMakeLists.txt index 68ad707f32..4a46b57a52 100644 --- a/tools/batched-bench/CMakeLists.txt +++ b/tools/batched-bench/CMakeLists.txt @@ -1,5 +1,8 @@ set(TARGET llama-batched-bench) add_executable(${TARGET} batched-bench.cpp) -install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) + +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() diff --git a/tools/cvector-generator/CMakeLists.txt b/tools/cvector-generator/CMakeLists.txt index 49ad9561c8..baeb4d00c1 100644 --- a/tools/cvector-generator/CMakeLists.txt +++ b/tools/cvector-generator/CMakeLists.txt @@ -1,5 +1,8 @@ set(TARGET llama-cvector-generator) add_executable(${TARGET} cvector-generator.cpp pca.hpp) -install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) + +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() diff --git a/tools/export-lora/CMakeLists.txt b/tools/export-lora/CMakeLists.txt index 310455787a..cddfa77f02 100644 --- a/tools/export-lora/CMakeLists.txt +++ b/tools/export-lora/CMakeLists.txt @@ -1,5 +1,8 @@ set(TARGET llama-export-lora) add_executable(${TARGET} export-lora.cpp) -install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) + +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() diff --git a/tools/gguf-split/CMakeLists.txt b/tools/gguf-split/CMakeLists.txt index c407e2f0af..9b2125087c 100644 --- a/tools/gguf-split/CMakeLists.txt +++ b/tools/gguf-split/CMakeLists.txt @@ -1,5 +1,8 @@ set(TARGET llama-gguf-split) add_executable(${TARGET} gguf-split.cpp) -install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) + +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() diff --git a/tools/imatrix/CMakeLists.txt b/tools/imatrix/CMakeLists.txt index 412696c47c..22f2fe5fdb 100644 --- a/tools/imatrix/CMakeLists.txt +++ b/tools/imatrix/CMakeLists.txt @@ -1,5 +1,8 @@ set(TARGET llama-imatrix) add_executable(${TARGET} imatrix.cpp) -install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) + +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() diff --git a/tools/llama-bench/CMakeLists.txt b/tools/llama-bench/CMakeLists.txt index 17e3b9b87b..b8543a9692 100644 --- a/tools/llama-bench/CMakeLists.txt +++ b/tools/llama-bench/CMakeLists.txt @@ -1,5 +1,8 @@ set(TARGET llama-bench) add_executable(${TARGET} llama-bench.cpp) -install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) + +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() diff --git a/tools/main/CMakeLists.txt b/tools/main/CMakeLists.txt index af3d9150f8..8f8e9d444c 100644 --- a/tools/main/CMakeLists.txt +++ b/tools/main/CMakeLists.txt @@ -1,5 +1,8 @@ set(TARGET llama-cli) add_executable(${TARGET} main.cpp) -install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) + +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() diff --git a/tools/mtmd/CMakeLists.txt b/tools/mtmd/CMakeLists.txt index 0979488560..2381012a0d 100644 --- a/tools/mtmd/CMakeLists.txt +++ b/tools/mtmd/CMakeLists.txt @@ -55,7 +55,7 @@ add_executable(llama-qwen2vl-cli deprecation-warning.cpp) set(TARGET llama-mtmd-cli) add_executable (${TARGET} mtmd-cli.cpp) set_target_properties (${TARGET} PROPERTIES OUTPUT_NAME llama-mtmd-cli) -if(NOT CMAKE_SYSTEM_NAME STREQUAL "iOS") +if(LLAMA_TOOLS_INSTALL) install(TARGETS ${TARGET} RUNTIME) endif() target_link_libraries (${TARGET} PRIVATE common mtmd Threads::Threads) diff --git a/tools/perplexity/CMakeLists.txt b/tools/perplexity/CMakeLists.txt index 3e68640933..12b28b2be4 100644 --- a/tools/perplexity/CMakeLists.txt +++ b/tools/perplexity/CMakeLists.txt @@ -1,5 +1,8 @@ set(TARGET llama-perplexity) add_executable(${TARGET} perplexity.cpp) -install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) + +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() diff --git a/tools/quantize/CMakeLists.txt b/tools/quantize/CMakeLists.txt index 47e5cbe30c..bd9ddbd67d 100644 --- a/tools/quantize/CMakeLists.txt +++ b/tools/quantize/CMakeLists.txt @@ -1,6 +1,9 @@ set(TARGET llama-quantize) add_executable(${TARGET} quantize.cpp) -install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_include_directories(${TARGET} PRIVATE ../../common) target_compile_features(${TARGET} PRIVATE cxx_std_17) + +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() diff --git a/tools/run/CMakeLists.txt b/tools/run/CMakeLists.txt index d018959698..e52294ccc0 100644 --- a/tools/run/CMakeLists.txt +++ b/tools/run/CMakeLists.txt @@ -10,6 +10,8 @@ if (LLAMA_CURL) set(LLAMA_RUN_EXTRA_LIBS ${LLAMA_RUN_EXTRA_LIBS} ${CURL_LIBRARIES}) endif () -install(TARGETS ${TARGET} RUNTIME) +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT} ${LLAMA_RUN_EXTRA_LIBS}) target_compile_features(${TARGET} PRIVATE cxx_std_17) diff --git a/tools/tokenize/CMakeLists.txt b/tools/tokenize/CMakeLists.txt index 1690b53e5d..feed9a1062 100644 --- a/tools/tokenize/CMakeLists.txt +++ b/tools/tokenize/CMakeLists.txt @@ -1,5 +1,7 @@ set(TARGET llama-tokenize) add_executable(${TARGET} tokenize.cpp) -install(TARGETS ${TARGET} RUNTIME) +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() target_link_libraries(${TARGET} PRIVATE common llama ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) diff --git a/tools/tts/CMakeLists.txt b/tools/tts/CMakeLists.txt index c72bd814c3..76320d4c2d 100644 --- a/tools/tts/CMakeLists.txt +++ b/tools/tts/CMakeLists.txt @@ -1,5 +1,8 @@ set(TARGET llama-tts) add_executable(${TARGET} tts.cpp) -install(TARGETS ${TARGET} RUNTIME) target_link_libraries(${TARGET} PRIVATE llama common ${CMAKE_THREAD_LIBS_INIT}) target_compile_features(${TARGET} PRIVATE cxx_std_17) + +if(LLAMA_TOOLS_INSTALL) + install(TARGETS ${TARGET} RUNTIME) +endif() From 51abc96bdc52ba8cd6ad78dcf12ed9a041d7b442 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 16 Sep 2025 05:57:16 +0200 Subject: [PATCH 10/52] ci : update macos-latest* jobs to use macos-latest (#15938) * ci : update macos-latest* jobs to use macos-latest This commit updates the jobs that are named macos-latest* to use the macos-latest label instead explicit versions. The motivation for this is that there is currently a mixuture of versions in this workflow and there are jobs that are failing because they require a newer version. Refs: https://github.com/ggml-org/llama.cpp/actions/runs/17644792595/job/50140010907#step:5:1759 * ci : add xcodebuild -downloadPlatform iOS command --- .github/workflows/build.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1bd35627da..9a668bf8dd 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -56,7 +56,7 @@ env: jobs: macOS-latest-cmake-arm64: - runs-on: macos-14 + runs-on: macos-latest steps: - name: Clone @@ -97,7 +97,7 @@ jobs: ctest -L 'main|curl' --verbose --timeout 900 macOS-latest-cmake-x64: - runs-on: macos-13 + runs-on: macos-latest steps: - name: Clone @@ -138,7 +138,7 @@ jobs: ctest -L main --verbose --timeout 900 macOS-latest-cmake-arm64-webgpu: - runs-on: macos-14 + runs-on: latest steps: - name: Clone @@ -1171,7 +1171,9 @@ jobs: ./build-xcframework.sh - name: Build Xcode project - run: xcodebuild -project examples/llama.swiftui/llama.swiftui.xcodeproj -scheme llama.swiftui -sdk iphoneos CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= -destination 'generic/platform=iOS' FRAMEWORK_FOLDER_PATH=./build-ios build + run: | + xcodebuild -downloadPlatform iOS + xcodebuild -project examples/llama.swiftui/llama.swiftui.xcodeproj -scheme llama.swiftui -sdk iphoneos CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= -destination 'generic/platform=iOS' FRAMEWORK_FOLDER_PATH=./build-ios build android-build: runs-on: ubuntu-latest From f1fbffb5c0b34b2a68febb7da3fd0f8333f1ed4c Mon Sep 17 00:00:00 2001 From: Bowen Han Date: Mon, 15 Sep 2025 23:59:19 -0700 Subject: [PATCH 11/52] fix: apply clang-format to CUDA macros (#16017) clang-format previously broke long CUDA macros (e.g. __launch_bounds__) into unreadable line breaks inside template declarations, such as: template __launch_bounds__(nwarps*ggml_cuda_get_physical_warp_size(), 1) This change adjusts formatting rules so that CUDA macros remain consistent and aligned with the surrounding template syntax. --- .clang-format | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.clang-format b/.clang-format index 117e6986f6..742723fc8f 100644 --- a/.clang-format +++ b/.clang-format @@ -22,6 +22,13 @@ AllowShortIfStatementsOnASingleLine: Never AllowShortLambdasOnASingleLine: Inline AllowShortLoopsOnASingleLine: false AlwaysBreakBeforeMultilineStrings: true +# Treat CUDA keywords/attributes as "attribute macros" and avoid breaking lines inside them +AttributeMacros: + - __host__ + - __device__ + - __global__ + - __forceinline__ + - __launch_bounds__ BinPackArguments: true BinPackParameters: false # OnePerLine BitFieldColonSpacing: Both From 76888d202ed2b835ae19ea9f9db6baf39e419297 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 16 Sep 2025 13:41:38 +0200 Subject: [PATCH 12/52] ci : upload xcframework artifact from ios-xcode-build job (#16010) This commit updates the github workflows build.yml file to include steps for uploading and downloading the xcframework artifact. The macos-latest-swift job now depends on the ios-xcode-build job and downloads the xcframework artifact produced by it. The motivation for this changes is that it takes a long time to build the xcframework and we are currently doing this twice in the workflow. With this change, we only build it once and reuse the artifact. --- .github/workflows/build.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9a668bf8dd..7f2dccde0c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -711,6 +711,7 @@ jobs: macOS-latest-swift: runs-on: macos-latest + needs: ios-xcode-build strategy: matrix: @@ -727,6 +728,12 @@ jobs: key: macOS-latest-swift evict-old-files: 1d + - name: Download xcframework artifact + uses: actions/download-artifact@v4 + with: + name: llama-xcframework + path: build-apple/llama.xcframework/ + - name: Dependencies id: depends continue-on-error: true @@ -748,11 +755,6 @@ jobs: -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" cmake --build build --config Release -j $(sysctl -n hw.logicalcpu) - - name: xcodebuild for swift package - id: xcodebuild - run: | - ./build-xcframework.sh - windows-msys2: runs-on: windows-2025 @@ -1170,6 +1172,13 @@ jobs: run: | ./build-xcframework.sh + - name: Upload xcframework artifact + uses: actions/upload-artifact@v4 + with: + name: llama-xcframework + path: build-apple/llama.xcframework/ + retention-days: 1 + - name: Build Xcode project run: | xcodebuild -downloadPlatform iOS From 3913f8730ec6d6245480affc30ae3049107956f4 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 16 Sep 2025 15:25:57 +0200 Subject: [PATCH 13/52] ggml : fix padding in timestep embedding kernels (#15932) * ggml : remove adding extra dim timestep embedding This commit updates the ggml_timestep_embedding function to no longer add an extra dimension when the specified dimension is odd. The motivation for this change is that this introduces an unnecessary dimension when the dimension is odd, which caused an issue in the kernels which were not expecting this extra dimension and it resulted in uninitialized memory for the second to last dimension. * ggml-cuda : fix padding in timestep embedding kernel This commit removes the zeroing out of the last dimension now that we are not adding the extra padding dimension. * ggml-metal : fix padding in timestep embedding kernel This commit fixes the zero padding for odd dimensions in the timestep embedding kernel * ggml-opencl : fix padding in timestep embedding kernel This commit fixes the zero padding for odd dimensions in the timestep embedding kernel. * ggml-sycl : fix padding in timestep embedding kernel This commit fixes the zero padding for odd dimensions in the timestep embedding kernel. * ggml-vulkan : fix padding in timestep embedding kernel This commit fixes the zero padding for odd dimensions in the timestep embedding kernel. * ggml-cpu : fix padding in timestep embedding function This commit removes the zeroing out of the last dimension now that we are not adding the extra padding dimension. --- ggml/src/ggml-cpu/ops.cpp | 1 - ggml/src/ggml-cuda/tsembd.cu | 6 +++--- ggml/src/ggml-metal/ggml-metal.metal | 2 +- ggml/src/ggml-opencl/kernels/tsembd.cl | 4 ++-- ggml/src/ggml-sycl/tsembd.cpp | 7 ++++--- .../src/ggml-vulkan/vulkan-shaders/timestep_embedding.comp | 7 ++++--- ggml/src/ggml.c | 6 +----- 7 files changed, 15 insertions(+), 18 deletions(-) diff --git a/ggml/src/ggml-cpu/ops.cpp b/ggml/src/ggml-cpu/ops.cpp index 212e52ef6a..c4824d145a 100644 --- a/ggml/src/ggml-cpu/ops.cpp +++ b/ggml/src/ggml-cpu/ops.cpp @@ -8599,7 +8599,6 @@ static void ggml_compute_forward_timestep_embedding_f32( } if (dim % 2 != 0 && ith == 0) { embed_data[2 * half] = 0.f; - embed_data[dim] = 0.f; } } } diff --git a/ggml/src/ggml-cuda/tsembd.cu b/ggml/src/ggml-cuda/tsembd.cu index 153ddbcda9..b91a26fc80 100644 --- a/ggml/src/ggml-cuda/tsembd.cu +++ b/ggml/src/ggml-cuda/tsembd.cu @@ -7,11 +7,11 @@ static __global__ void timestep_embedding_f32(const float * timesteps, float * d int j = threadIdx.x + blockIdx.x * blockDim.x; float * embed_data = (float *)((char *)dst + i*nb1); - if (dim % 2 != 0 && j == ((dim + 1) / 2)) { - embed_data[dim] = 0.f; + int half = dim / 2; + if (dim % 2 != 0 && j == half) { + embed_data[2 * half] = 0.f; } - int half = dim / 2; if (j >= half) { return; } diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal index 4314c9cc93..5057e264f6 100644 --- a/ggml/src/ggml-metal/ggml-metal.metal +++ b/ggml/src/ggml-metal/ggml-metal.metal @@ -4167,7 +4167,7 @@ kernel void kernel_timestep_embedding_f32( } if (args.dim % 2 != 0 && tpitg.x == 0) { - embed_data[args.dim] = 0.f; + embed_data[2 * half_] = 0.f; } } diff --git a/ggml/src/ggml-opencl/kernels/tsembd.cl b/ggml/src/ggml-opencl/kernels/tsembd.cl index 4b1107f70b..21444bd958 100644 --- a/ggml/src/ggml-opencl/kernels/tsembd.cl +++ b/ggml/src/ggml-opencl/kernels/tsembd.cl @@ -26,8 +26,8 @@ kernel void kernel_timestep_embedding( local_half_dim = logical_dim / 2; local_embed_data_ptr = (global float *)((global char *)local_dst_output_base_ptr + local_i * dst_nb1_bytes); - if (logical_dim % 2 != 0 && local_j == ((logical_dim + 1) / 2)) { - local_embed_data_ptr[logical_dim] = 0.0f; + if (logical_dim % 2 != 0 && local_j == local_half_dim) { + local_embed_data_ptr[2 * local_half_dim] = 0.0f; } if (local_j >= local_half_dim) { diff --git a/ggml/src/ggml-sycl/tsembd.cpp b/ggml/src/ggml-sycl/tsembd.cpp index f6ca626ea7..f2003794d3 100644 --- a/ggml/src/ggml-sycl/tsembd.cpp +++ b/ggml/src/ggml-sycl/tsembd.cpp @@ -21,11 +21,12 @@ static void timestep_embedding_f32( int j = item_ct1.get_local_id(2) + item_ct1.get_group(2) * item_ct1.get_local_range(2); float * embed_data = (float *)((char *)dst + i*nb1); - if (dim % 2 != 0 && j == ((dim + 1) / 2)) { - embed_data[dim] = 0.f; + int half = dim / 2; + + if (dim % 2 != 0 && j == half) { + embed_data[2 * half] = 0.f; } - int half = dim / 2; if (j >= half) { return; } diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/timestep_embedding.comp b/ggml/src/ggml-vulkan/vulkan-shaders/timestep_embedding.comp index 79e065a931..ce8e09442d 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/timestep_embedding.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/timestep_embedding.comp @@ -24,11 +24,12 @@ void main() { const uint j = gl_GlobalInvocationID.x; const uint d_offset = i * p.nb1; - if (p.dim % 2 != 0 && j == ((p.dim + 1) / 2)) { - data_d[d_offset + p.dim] = 0.f; + const uint half_dim = p.dim / 2; + + if (p.dim % 2 != 0 && j == half_dim) { + data_d[d_offset + 2 * half_dim] = 0.f; } - const uint half_dim = p.dim / 2; if (j >= half_dim) { return; } diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c index 50dc1aa24f..3584827dca 100644 --- a/ggml/src/ggml.c +++ b/ggml/src/ggml.c @@ -4923,12 +4923,8 @@ struct ggml_tensor * ggml_timestep_embedding( struct ggml_tensor * timesteps, int dim, int max_period) { - int actual_dim = dim; - if (dim % 2 != 0) { - actual_dim = dim + 1; - } - struct ggml_tensor * result = ggml_new_tensor_2d(ctx, GGML_TYPE_F32, actual_dim, timesteps->ne[0]); + struct ggml_tensor * result = ggml_new_tensor_2d(ctx, GGML_TYPE_F32, dim, timesteps->ne[0]); ggml_set_op_params_i32(result, 0, dim); ggml_set_op_params_i32(result, 1, max_period); From 77475530b8bbea3bf578632507e1284cdfe2c8c0 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 16 Sep 2025 15:27:52 +0200 Subject: [PATCH 14/52] ci : use macos-latest for arm64 webgpu build (#16029) This commit updates the runs-on field for the macOS arm64 webgpu build job to use macos-latest instead of just latest. The motivation for this is that this job can wait for a runner to pick up the job for a very long time, sometimes over 7 hours. This is an attempt to see if this change can help reduce the wait time. Refs: https://github.com/ggml-org/llama.cpp/actions/runs/17754163447/job/50454257570?pr=16004 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7f2dccde0c..0a00c85b73 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -138,7 +138,7 @@ jobs: ctest -L main --verbose --timeout 900 macOS-latest-cmake-arm64-webgpu: - runs-on: latest + runs-on: macos-latest steps: - name: Clone From 8ff206097c2bf3ca1c7aa95f9d6db779fc7bdd68 Mon Sep 17 00:00:00 2001 From: jacekpoplawski <67507230+jacekpoplawski@users.noreply.github.com> Date: Tue, 16 Sep 2025 16:17:08 +0200 Subject: [PATCH 15/52] llama-bench: add --n-cpu-moe support (#15952) * llama-bench: add --n-cpu-moe support Support --n-cpu-moe in llama-bench the same way it is supported by llama-server. --- common/arg.cpp | 8 +-- common/common.h | 14 +++++ tools/llama-bench/llama-bench.cpp | 87 +++++++++++++++++++++++++------ 3 files changed, 90 insertions(+), 19 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 19189d8f9f..9fd8858e82 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -2548,7 +2548,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex {"--cpu-moe", "-cmoe"}, "keep all Mixture of Experts (MoE) weights in the CPU", [](common_params & params) { - params.tensor_buft_overrides.push_back({"\\.ffn_(up|down|gate)_exps", ggml_backend_cpu_buffer_type()}); + params.tensor_buft_overrides.push_back(llm_ffn_exps_cpu_override()); } ).set_env("LLAMA_ARG_CPU_MOE")); add_opt(common_arg( @@ -2561,7 +2561,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex for (int i = 0; i < value; ++i) { // keep strings alive and avoid leaking memory by storing them in a static vector static std::list buft_overrides; - buft_overrides.push_back(string_format("blk\\.%d\\.ffn_(up|down|gate)_exps", i)); + buft_overrides.push_back(llm_ffn_exps_block_regex(i)); params.tensor_buft_overrides.push_back({buft_overrides.back().c_str(), ggml_backend_cpu_buffer_type()}); } } @@ -2570,7 +2570,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex {"--cpu-moe-draft", "-cmoed"}, "keep all Mixture of Experts (MoE) weights in the CPU for the draft model", [](common_params & params) { - params.speculative.tensor_buft_overrides.push_back({"\\.ffn_(up|down|gate)_exps", ggml_backend_cpu_buffer_type()}); + params.speculative.tensor_buft_overrides.push_back(llm_ffn_exps_cpu_override()); } ).set_examples({LLAMA_EXAMPLE_SPECULATIVE, LLAMA_EXAMPLE_SERVER}).set_env("LLAMA_ARG_CPU_MOE_DRAFT")); add_opt(common_arg( @@ -2582,7 +2582,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex } for (int i = 0; i < value; ++i) { static std::list buft_overrides_draft; - buft_overrides_draft.push_back(string_format("blk\\.%d\\.ffn_(up|down|gate)_exps", i)); + buft_overrides_draft.push_back(llm_ffn_exps_block_regex(i)); params.speculative.tensor_buft_overrides.push_back({buft_overrides_draft.back().c_str(), ggml_backend_cpu_buffer_type()}); } } diff --git a/common/common.h b/common/common.h index 5063d73f96..83d44dbaa7 100644 --- a/common/common.h +++ b/common/common.h @@ -734,6 +734,20 @@ const char * const LLM_KV_SPLIT_TENSORS_COUNT = "split.tensors.count"; } +// +// MoE utils +// + +const char * const LLM_FFN_EXPS_REGEX = "\\.ffn_(up|down|gate)_exps"; + +static std::string llm_ffn_exps_block_regex(int idx) { + return string_format("blk\\.%d%s", idx, LLM_FFN_EXPS_REGEX); +} + +static llama_model_tensor_buft_override llm_ffn_exps_cpu_override() { + return { LLM_FFN_EXPS_REGEX, ggml_backend_cpu_buffer_type() }; +} + // // training utils // diff --git a/tools/llama-bench/llama-bench.cpp b/tools/llama-bench/llama-bench.cpp index 95f662a297..ad47bf144f 100644 --- a/tools/llama-bench/llama-bench.cpp +++ b/tools/llama-bench/llama-bench.cpp @@ -250,6 +250,7 @@ struct cmd_params { std::vector cpu_strict; std::vector poll; std::vector n_gpu_layers; + std::vector n_cpu_moe; std::vector rpc_servers; std::vector split_mode; std::vector main_gpu; @@ -286,6 +287,7 @@ static const cmd_params cmd_params_defaults = { /* cpu_strict */ { false }, /* poll */ { 50 }, /* n_gpu_layers */ { 99 }, + /* n_cpu_moe */ { 0 }, /* rpc_servers */ { "" }, /* split_mode */ { LLAMA_SPLIT_MODE_LAYER }, /* main_gpu */ { 0 }, @@ -353,6 +355,8 @@ static void print_usage(int /* argc */, char ** argv) { printf(" --poll <0...100> (default: %s)\n", join(cmd_params_defaults.poll, ",").c_str()); printf(" -ngl, --n-gpu-layers (default: %s)\n", join(cmd_params_defaults.n_gpu_layers, ",").c_str()); + printf(" -ncmoe, --n-cpu-moe (default: %s)\n", + join(cmd_params_defaults.n_cpu_moe, ",").c_str()); if (llama_supports_rpc()) { printf(" -rpc, --rpc (default: %s)\n", join(cmd_params_defaults.rpc_servers, ",").c_str()); @@ -564,6 +568,13 @@ static cmd_params parse_cmd_params(int argc, char ** argv) { } auto p = parse_int_range(argv[i]); params.n_gpu_layers.insert(params.n_gpu_layers.end(), p.begin(), p.end()); + } else if (arg == "-ncmoe" || arg == "--n-cpu-moe") { + if (++i >= argc) { + invalid_param = true; + break; + } + auto p = parse_int_range(argv[i]); + params.n_cpu_moe.insert(params.n_cpu_moe.end(), p.begin(), p.end()); } else if (llama_supports_rpc() && (arg == "-rpc" || arg == "--rpc")) { if (++i >= argc) { invalid_param = true; @@ -841,6 +852,9 @@ static cmd_params parse_cmd_params(int argc, char ** argv) { if (params.n_gpu_layers.empty()) { params.n_gpu_layers = cmd_params_defaults.n_gpu_layers; } + if (params.n_cpu_moe.empty()) { + params.n_cpu_moe = cmd_params_defaults.n_cpu_moe; + } if (params.rpc_servers.empty()) { params.rpc_servers = cmd_params_defaults.rpc_servers; } @@ -901,6 +915,7 @@ struct cmd_params_instance { bool cpu_strict; int poll; int n_gpu_layers; + int n_cpu_moe; std::string rpc_servers_str; llama_split_mode split_mode; int main_gpu; @@ -973,20 +988,50 @@ struct cmd_params_instance { mparams.tensor_split = tensor_split.data(); mparams.use_mmap = use_mmap; - if (tensor_buft_overrides.empty()) { - mparams.tensor_buft_overrides = nullptr; + if (n_cpu_moe <= 0) { + if (tensor_buft_overrides.empty()) { + mparams.tensor_buft_overrides = nullptr; + } else { + GGML_ASSERT(tensor_buft_overrides.back().pattern == nullptr && + "Tensor buffer overrides not terminated with empty pattern"); + mparams.tensor_buft_overrides = tensor_buft_overrides.data(); + } } else { - GGML_ASSERT(tensor_buft_overrides.back().pattern == nullptr && "Tensor buffer overrides not terminated with empty pattern"); - mparams.tensor_buft_overrides = tensor_buft_overrides.data(); + static std::vector merged; + static std::vector patterns; + + merged.clear(); + patterns.clear(); + + auto first = tensor_buft_overrides.begin(); + auto last = tensor_buft_overrides.end(); + if (first != last && (last - 1)->pattern == nullptr) { + --last; + } + merged.insert(merged.end(), first, last); + + patterns.reserve((size_t) n_cpu_moe); + merged.reserve(merged.size() + (size_t) n_cpu_moe + 1); + + for (int i = 0; i < n_cpu_moe; ++i) { + patterns.push_back(llm_ffn_exps_block_regex(i)); + merged.push_back({ patterns.back().c_str(), + ggml_backend_cpu_buffer_type() }); + } + + merged.push_back({ nullptr, nullptr }); + + mparams.tensor_buft_overrides = merged.data(); } return mparams; } bool equal_mparams(const cmd_params_instance & other) const { - return model == other.model && n_gpu_layers == other.n_gpu_layers && rpc_servers_str == other.rpc_servers_str && - split_mode == other.split_mode && main_gpu == other.main_gpu && use_mmap == other.use_mmap && - tensor_split == other.tensor_split && vec_tensor_buft_override_equal(tensor_buft_overrides, other.tensor_buft_overrides); + return model == other.model && n_gpu_layers == other.n_gpu_layers && n_cpu_moe == other.n_cpu_moe && + rpc_servers_str == other.rpc_servers_str && split_mode == other.split_mode && + main_gpu == other.main_gpu && use_mmap == other.use_mmap && tensor_split == other.tensor_split && + vec_tensor_buft_override_equal(tensor_buft_overrides, other.tensor_buft_overrides); } llama_context_params to_llama_cparams() const { @@ -1014,6 +1059,7 @@ static std::vector get_cmd_params_instances(const cmd_param // clang-format off for (const auto & m : params.model) for (const auto & nl : params.n_gpu_layers) + for (const auto & ncmoe : params.n_cpu_moe) for (const auto & rpc : params.rpc_servers) for (const auto & sm : params.split_mode) for (const auto & mg : params.main_gpu) @@ -1051,6 +1097,7 @@ static std::vector get_cmd_params_instances(const cmd_param /* .cpu_strict = */ cs, /* .poll = */ pl, /* .n_gpu_layers = */ nl, + /* .n_cpu_moe = */ ncmoe, /* .rpc_servers = */ rpc, /* .split_mode = */ sm, /* .main_gpu = */ mg, @@ -1083,6 +1130,7 @@ static std::vector get_cmd_params_instances(const cmd_param /* .cpu_strict = */ cs, /* .poll = */ pl, /* .n_gpu_layers = */ nl, + /* .n_cpu_moe = */ ncmoe, /* .rpc_servers = */ rpc, /* .split_mode = */ sm, /* .main_gpu = */ mg, @@ -1115,6 +1163,7 @@ static std::vector get_cmd_params_instances(const cmd_param /* .cpu_strict = */ cs, /* .poll = */ pl, /* .n_gpu_layers = */ nl, + /* .n_cpu_moe = */ ncmoe, /* .rpc_servers = */ rpc, /* .split_mode = */ sm, /* .main_gpu = */ mg, @@ -1152,6 +1201,7 @@ struct test { ggml_type type_k; ggml_type type_v; int n_gpu_layers; + int n_cpu_moe; llama_split_mode split_mode; int main_gpu; bool no_kv_offload; @@ -1186,6 +1236,7 @@ struct test { type_k = inst.type_k; type_v = inst.type_v; n_gpu_layers = inst.n_gpu_layers; + n_cpu_moe = inst.n_cpu_moe; split_mode = inst.split_mode; main_gpu = inst.main_gpu; no_kv_offload = inst.no_kv_offload; @@ -1236,12 +1287,14 @@ struct test { static const std::vector & get_fields() { static const std::vector fields = { - "build_commit", "build_number", "cpu_info", "gpu_info", "backends", "model_filename", - "model_type", "model_size", "model_n_params", "n_batch", "n_ubatch", "n_threads", - "cpu_mask", "cpu_strict", "poll", "type_k", "type_v", "n_gpu_layers", - "split_mode", "main_gpu", "no_kv_offload", "flash_attn", "tensor_split", "tensor_buft_overrides", - "use_mmap", "embeddings", "no_op_offload", "n_prompt", "n_gen", "n_depth", "test_time", - "avg_ns", "stddev_ns", "avg_ts", "stddev_ts", + "build_commit", "build_number", "cpu_info", "gpu_info", "backends", + "model_filename", "model_type", "model_size", "model_n_params", "n_batch", + "n_ubatch", "n_threads", "cpu_mask", "cpu_strict", "poll", + "type_k", "type_v", "n_gpu_layers", "n_cpu_moe", "split_mode", + "main_gpu", "no_kv_offload", "flash_attn", "tensor_split", "tensor_buft_overrides", + "use_mmap", "embeddings", "no_op_offload", "n_prompt", "n_gen", + "n_depth", "test_time", "avg_ns", "stddev_ns", "avg_ts", + "stddev_ts" }; return fields; } @@ -1251,8 +1304,8 @@ struct test { static field_type get_field_type(const std::string & field) { if (field == "build_number" || field == "n_batch" || field == "n_ubatch" || field == "n_threads" || field == "poll" || field == "model_size" || field == "model_n_params" || field == "n_gpu_layers" || - field == "main_gpu" || field == "n_prompt" || field == "n_gen" || field == "n_depth" || - field == "avg_ns" || field == "stddev_ns" || field == "no_op_offload") { + field == "main_gpu" || field == "n_prompt" || field == "n_gen" || field == "n_depth" || field == "avg_ns" || + field == "stddev_ns" || field == "no_op_offload" || field == "n_cpu_moe") { return INT; } if (field == "f16_kv" || field == "no_kv_offload" || field == "cpu_strict" || field == "flash_attn" || @@ -1320,6 +1373,7 @@ struct test { ggml_type_name(type_k), ggml_type_name(type_v), std::to_string(n_gpu_layers), + std::to_string(n_cpu_moe), split_mode_str(split_mode), std::to_string(main_gpu), std::to_string(no_kv_offload), @@ -1568,6 +1622,9 @@ struct markdown_printer : public printer { if (!is_cpu_backend) { fields.emplace_back("n_gpu_layers"); } + if (params.n_cpu_moe.size() > 1) { + fields.emplace_back("n_cpu_moe"); + } if (params.n_threads.size() > 1 || params.n_threads != cmd_params_defaults.n_threads || is_cpu_backend) { fields.emplace_back("n_threads"); } From d5fabe3682de515fd09d6c981f7a0d1b75614455 Mon Sep 17 00:00:00 2001 From: Chenguang Li <757486878@qq.com> Date: Wed, 17 Sep 2025 14:33:08 +0800 Subject: [PATCH 16/52] CANN: Optimize ggml_cann_set_device (#15935) * CANN: Fix ggml_cann_set_device to avoid redundant device switches - Added a check to skip aclrtSetDevice if the current device is already set. - Prevents unnecessary context switches while keeping thread/device consistency. * CANN: add device default id --- ggml/src/ggml-cann/common.h | 5 ++++- ggml/src/ggml-cann/ggml-cann.cpp | 12 ++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ggml/src/ggml-cann/common.h b/ggml/src/ggml-cann/common.h index c5fce8dc91..b707b84359 100755 --- a/ggml/src/ggml-cann/common.h +++ b/ggml/src/ggml-cann/common.h @@ -526,7 +526,10 @@ struct ggml_backend_cann_context { */ aclrtStream stream(int stream) { if (streams[stream] == nullptr) { - ggml_cann_set_device(device); + // If the device is not set here, destroying the stream later may cause a mismatch + // between the thread contexts where the stream was created and destroyed. + // However, I printed the device_id, thread_id, and stream, and they are all consistent. + ACL_CHECK(aclrtSetDevice(device)); ACL_CHECK(aclrtCreateStream(&streams[stream])); } return streams[stream]; diff --git a/ggml/src/ggml-cann/ggml-cann.cpp b/ggml/src/ggml-cann/ggml-cann.cpp index 19a18a281d..56d82b4af3 100755 --- a/ggml/src/ggml-cann/ggml-cann.cpp +++ b/ggml/src/ggml-cann/ggml-cann.cpp @@ -75,13 +75,12 @@ * @param device The device ID to set. */ void ggml_cann_set_device(const int32_t device) { - // TODO: uncomment these lines after empty context has fixed. - // int current_device; - // ACL_CHECK(aclrtGetDevice(¤t_device)); + int current_device = -1; + aclrtGetDevice(¤t_device); - // if (device == current_device) { - // return; - // } + if (device == current_device) { + return; + } ACL_CHECK(aclrtSetDevice(device)); } @@ -1729,6 +1728,7 @@ static bool ggml_cann_compute_forward(ggml_backend_cann_context& ctx, ggml_cann_get_rows(ctx, dst); break; case GGML_OP_SET_ROWS: + std::cout << "lcg GGML_OP_SET_ROWS"<< std::endl; ggml_cann_set_rows(ctx, dst); break; case GGML_OP_DUP: From 85286f354813056f6c835046c0acfa3bf6ba9432 Mon Sep 17 00:00:00 2001 From: Shane A Date: Wed, 17 Sep 2025 00:01:58 -0700 Subject: [PATCH 17/52] model : add OLMo3 support (#16015) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add HF to gguf conversion logic for Olmo3 * Add Olmo3 implementation * Update rope comment * Fix indentation Co-authored-by: Sigbjørn Skjæret * Apply suggestion from @CISC Co-authored-by: Sigbjørn Skjæret --------- Co-authored-by: Sigbjørn Skjæret --- convert_hf_to_gguf.py | 25 +++++++++++++++++++++++ src/llama-model.cpp | 47 +++++++++++++++++++++++++++++++++++++++---- 2 files changed, 68 insertions(+), 4 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 5a21ba2110..ce83f24695 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -6009,9 +6009,34 @@ class SeedOssModel(TextModel): @ModelBase.register("Olmo2ForCausalLM") +@ModelBase.register("Olmo3ForCausalLM") class Olmo2Model(TextModel): model_arch = gguf.MODEL_ARCH.OLMO2 + def set_gguf_parameters(self): + super().set_gguf_parameters() + + rope_scaling = self.hparams.get("rope_scaling") or {} + if rope_scaling.get("rope_type", rope_scaling.get("type")) == "yarn" and "factor" in rope_scaling: + self.gguf_writer.add_rope_scaling_type(gguf.RopeScalingType.YARN) + self.gguf_writer.add_rope_scaling_factor(rope_scaling["factor"]) + self.gguf_writer.add_rope_scaling_attn_factors(rope_scaling["attention_factor"]) + self.gguf_writer.add_rope_scaling_orig_ctx_len(rope_scaling["original_max_position_embeddings"]) + + if "sliding_window" in self.hparams: + self.gguf_writer.add_sliding_window(self.hparams["sliding_window"]) + + sliding_window_pattern = [] + if "layer_types" in self.hparams: + sliding_window_pattern = [t == "sliding_attention" for t in self.hparams["layer_types"]] + else: + # Olmo2 does not use sliding window attention. + # Olmo3 defaults to using sliding window for all layers except every 4th. + for i in range(self.hparams["num_hidden_layers"]): + sliding_window_pattern.append((i + 1) % 4 != 0) + + self.gguf_writer.add_sliding_window_pattern(sliding_window_pattern) + @ModelBase.register("OlmoeForCausalLM") class OlmoeModel(TextModel): diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 731e87383b..2be807a6a9 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -1350,6 +1350,14 @@ void llama_model::load_hparams(llama_model_loader & ml) { { ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); + const bool found_swa = ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa, false); + if (found_swa && hparams.n_swa > 0) { + hparams.swa_type = LLAMA_SWA_TYPE_STANDARD; + hparams.set_swa_pattern(4); + } else { + hparams.swa_type = LLAMA_SWA_TYPE_NONE; + } + switch (hparams.n_layer) { case 16: type = LLM_TYPE_1B; break; case 32: type = LLM_TYPE_7B; break; @@ -12233,6 +12241,7 @@ struct llm_build_olmo : public llm_graph_context { } }; +template struct llm_build_olmo2 : public llm_graph_context { llm_build_olmo2(const llama_model & model, const llm_graph_params & params) : llm_graph_context(params) { const int64_t n_embd_head = hparams.n_embd_head_v; @@ -12248,7 +12257,14 @@ struct llm_build_olmo2 : public llm_graph_context { // inp_pos - contains the positions ggml_tensor * inp_pos = build_inp_pos(); - auto * inp_attn = build_attn_inp_kv(); + using inp_attn_type = std::conditional_t; + inp_attn_type * inp_attn = nullptr; + + if constexpr (iswa) { + inp_attn = build_attn_inp_kv_iswa(); + } else { + inp_attn = build_attn_inp_kv(); + } ggml_tensor * inp_out_ids = build_inp_out_ids(); @@ -12281,17 +12297,36 @@ struct llm_build_olmo2 : public llm_graph_context { 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 = ggml_rope_ext( + const bool is_swa = hparams.is_swa(il); + + if (is_swa) { + // For sliding window layers, Olmo3 use regular rope with no yarn rope scaling. + // This is achieved here by setting freq_scale and attn_factor to 1. + // We also set ext_factor to 0 to avoid a few unnecessary computations. + Qcur = ggml_rope_ext( + ctx0, Qcur, inp_pos, nullptr, + n_rot, rope_type, n_ctx_orig, freq_base, 1.0, + 0.0, 1.0, beta_fast, beta_slow + ); + + Kcur = ggml_rope_ext( + ctx0, Kcur, inp_pos, nullptr, + n_rot, rope_type, n_ctx_orig, freq_base, 1.0, + 0.0, 1.0, beta_fast, beta_slow + ); + } else { + Qcur = ggml_rope_ext( ctx0, Qcur, inp_pos, nullptr, n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, ext_factor, attn_factor, beta_fast, beta_slow ); - Kcur = ggml_rope_ext( + 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); @@ -19131,7 +19166,11 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const { } break; case LLM_ARCH_OLMO2: { - llm = std::make_unique(*this, params); + if (hparams.swa_type == LLAMA_SWA_TYPE_STANDARD) { + llm = std::make_unique>(*this, params); + } else { + llm = std::make_unique>(*this, params); + } } break; case LLM_ARCH_OLMOE: { From 1cbd80f8cf80a817715b1ccc5680fe2a3c5172c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jie=20Fu=20=28=E5=82=85=E6=9D=B0=29?= Date: Wed, 17 Sep 2025 15:29:00 +0800 Subject: [PATCH 18/52] examples : support encoder-decoder models in the simple example (#16002) Signed-off-by: Jie Fu --- examples/simple/simple.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/examples/simple/simple.cpp b/examples/simple/simple.cpp index 633b87e584..d09771d104 100644 --- a/examples/simple/simple.cpp +++ b/examples/simple/simple.cpp @@ -145,6 +145,20 @@ int main(int argc, char ** argv) { llama_batch batch = llama_batch_get_one(prompt_tokens.data(), prompt_tokens.size()); + if (llama_model_has_encoder(model)) { + if (llama_encode(ctx, batch)) { + fprintf(stderr, "%s : failed to eval\n", __func__); + return 1; + } + + llama_token decoder_start_token_id = llama_model_decoder_start_token(model); + if (decoder_start_token_id == LLAMA_TOKEN_NULL) { + decoder_start_token_id = llama_vocab_bos(vocab); + } + + batch = llama_batch_get_one(&decoder_start_token_id, 1); + } + // main loop const auto t_main_start = ggml_time_us(); From 745cbcf2fe1eb88f8db615ac622f0b944d924ad6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jie=20Fu=20=28=E5=82=85=E6=9D=B0=29?= Date: Wed, 17 Sep 2025 15:30:55 +0800 Subject: [PATCH 19/52] llama-quant : fix the verification of attention layers for encoder-decoder models (#16023) Signed-off-by: Jie Fu --- src/llama-quant.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/llama-quant.cpp b/src/llama-quant.cpp index c93e8065a8..97228b2a69 100644 --- a/src/llama-quant.cpp +++ b/src/llama-quant.cpp @@ -725,7 +725,9 @@ static void llama_model_quantize_impl(const std::string & fname_inp, const std:: // attention layers have a non-zero number of kv heads int32_t n_attn_layer = model.hparams.n_layer - std::count(n_head_kv_iter, n_head_kv_iter + model.hparams.n_layer, 0); if (llama_model_has_encoder(&model)) { - n_attn_layer *= 3; + // now n_attn_layer is the number of attention layers in the encoder + // for each decoder block, there are 2 attention layers + n_attn_layer += 2 * model.hparams.dec_n_layer; } GGML_ASSERT((qs.n_attention_wv == n_attn_layer - pruned_attention_w) && "n_attention_wv is unexpected"); } From a91d035b901e8a9edf810f63d130ee49adf27be2 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 17 Sep 2025 09:34:09 +0200 Subject: [PATCH 20/52] ci : revert back to macos-13 for macOS-latest-cmake-x64 (#16040) This commit reverts the change of the runs-on parameter for the macOS-latest-cmake-x64 job back to macos-13 that was make in Commit 51abc96bdc52ba8cd6ad78dcf12ed9a041d7b442 ("ci : update macos-latest* jobs to use macos-latest (#15938)"). The motivation for this is that using macos-latest will cause an ARM based runner to be used, and not an x64 based runner. Refs: https://github.com/ggml-org/llama.cpp/pull/15938#issuecomment-3300805127 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0a00c85b73..ff42b19f1d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -97,7 +97,7 @@ jobs: ctest -L 'main|curl' --verbose --timeout 900 macOS-latest-cmake-x64: - runs-on: macos-latest + runs-on: macos-13 steps: - name: Clone From cb5bb6cc05119c24e7711ca2956cd0e6d409d396 Mon Sep 17 00:00:00 2001 From: Eve <139727413+netrunnereve@users.noreply.github.com> Date: Wed, 17 Sep 2025 07:35:37 +0000 Subject: [PATCH 21/52] vulkan: automatically remove unsupported devices (#15976) * remove unsupported vulkan devices * make this happen during selection instead * pass by reference --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 60a99dc78b..1f1136382e 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -4423,8 +4423,8 @@ static void ggml_vk_print_gpu_info(size_t idx) { static bool ggml_vk_instance_validation_ext_available(); static bool ggml_vk_instance_portability_enumeration_ext_available(const std::vector& instance_extensions); - static bool ggml_vk_instance_debug_utils_ext_available(const std::vector & instance_extensions); +static bool ggml_vk_device_is_supported(const vk::PhysicalDevice & vkdev); static void ggml_vk_instance_init() { if (vk_instance_initialized) { @@ -4540,7 +4540,7 @@ static void ggml_vk_instance_init() { new_driver.pNext = &new_id; devices[i].getProperties2(&new_props); - if (new_props.properties.deviceType == vk::PhysicalDeviceType::eDiscreteGpu || new_props.properties.deviceType == vk::PhysicalDeviceType::eIntegratedGpu) { + if ((new_props.properties.deviceType == vk::PhysicalDeviceType::eDiscreteGpu || new_props.properties.deviceType == vk::PhysicalDeviceType::eIntegratedGpu) && ggml_vk_device_is_supported(devices[i])) { // Check if there are two physical devices corresponding to the same GPU auto old_device = std::find_if( vk_instance.device_indices.begin(), @@ -12738,6 +12738,20 @@ static bool ggml_vk_instance_debug_utils_ext_available( UNUSED(instance_extensions); } +static bool ggml_vk_device_is_supported(const vk::PhysicalDevice & vkdev) { + VkPhysicalDeviceFeatures2 device_features2; + device_features2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2; + + VkPhysicalDeviceVulkan11Features vk11_features; + vk11_features.pNext = nullptr; + vk11_features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES; + device_features2.pNext = &vk11_features; + + vkGetPhysicalDeviceFeatures2(vkdev, &device_features2); + + return vk11_features.storageBuffer16BitAccess; +} + static bool ggml_vk_khr_cooperative_matrix_support(const vk::PhysicalDeviceProperties& props, const vk::PhysicalDeviceDriverProperties& driver_props, vk_device_architecture arch) { switch (props.vendorID) { case VK_VENDOR_ID_INTEL: From cd08fc3ecc0264b4414b68af3874a6c689ed60c1 Mon Sep 17 00:00:00 2001 From: David Ribeiro Alves Date: Wed, 17 Sep 2025 01:08:02 -0700 Subject: [PATCH 22/52] common : Fix corrupted memory error on json grammar initialization (#16038) Initalizing RESERVED_NAME in is_reserved_name() is not thread safe and leads to corrupted memory when used from multiple threads as can be seen in the asan trace below. This fixes the initialization to make it thread-safe. #0 0x000100abd018 in std::__1::pair, std::__1::allocator>, void*>*>, bool> std::__1::__hash_table, std::__1::allocator>, std::__1::hash, std::__1::allocator>>, std::__1::equal_to, std::__1::allocator>>, std::__1::allocator, std::__1::allocator>>>::__emplace_unique_key_args, std::__1::allocator>, std::__1::basic_string, std::__1::allocator> const&>(std::__1::basic_string, std::__1::allocator> const&, std::__1::basic_string, std::__1::allocator> const&) __hash_table:1565 #1 0x000100ab0320 in SchemaConverter::visit(nlohmann::json_abi_v3_12_0::basic_json, std::__1::allocator>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::__1::vector>, void> const&, std::__1::basic_string, std::__1::allocator> const&) json-schema-to-grammar.cpp:802 #2 0x000100aafc48 in std::__1::__function::__func const&, common_grammar_options const&)::$_2, std::__1::allocator const&, common_grammar_options const&)::$_2>, std::__1::basic_string, std::__1::allocator> (std::__1::basic_string, std::__1::allocator> const&, nlohmann::json_abi_v3_12_0::basic_json, std::__1::allocator>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::__1::vector>, void> const&)>::operator()(std::__1::basic_string, std::__1::allocator> const&, nlohmann::json_abi_v3_12_0::basic_json, std::__1::allocator>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::__1::vector>, void> const&) function.h:319 #3 0x000100a2c938 in std::__1::__function::__func, std::__1::allocator>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::__1::vector>, void> const&), std::__1::allocator, std::__1::allocator>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::__1::vector>, void> const&)>, void (nlohmann::json_abi_v3_12_0::basic_json, std::__1::allocator>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::__1::vector>, void> const&)>::operator()(nlohmann::json_abi_v3_12_0::basic_json, std::__1::allocator>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::__1::vector>, void> const&) function.h:319 #4 0x000100a139f8 in foreach_function(nlohmann::json_abi_v3_12_0::basic_json, std::__1::allocator>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::__1::vector>, void> const&, std::__1::function, std::__1::allocator>, bool, long long, unsigned long long, double, std::__1::allocator, nlohmann::json_abi_v3_12_0::adl_serializer, std::__1::vector>, void> const&)> const&) chat.cpp:762 #5 0x000100a2a7f4 in std::__1::__function::__func, void (common_grammar_builder const&)>::operator()(common_grammar_builder const&) function.h:319 #6 0x000100aa98f4 in build_grammar(std::__1::function const&, common_grammar_options const&) json-schema-to-grammar.cpp:982 #7 0x0001009c9314 in common_chat_params_init_llama_3_x(minja::chat_template const&, templates_params const&, bool) chat.cpp:1110 #8 0x0001009b8afc in common_chat_templates_apply_jinja(common_chat_templates const*, common_chat_templates_inputs const&) chat.cpp:1992 #9 0x0001009b533c in common_chat_templates_apply(common_chat_templates const*, common_chat_templates_inputs const&) chat.cpp:2074 #10 0x000100810120 in llamacpp_apply_chat_template+0x724 (predict_oai-98384e17fb94e863:arm64+0x100090120) ... ==45482==Register values: x[0] = 0x00006020004147f8 x[1] = 0x00006080000013c8 x[2] = 0x0000000000000000 x[3] = 0x0000604006289738 x[4] = 0x0000000000000002 x[5] = 0x0000000000000001 x[6] = 0x04034000004b4000 x[7] = 0x0000000000000001 x[8] = 0xbebebebebebebebe x[9] = 0x17d7d7d7d7d7d7d7 x[10] = 0x00000c04000828ff x[11] = 0x0000000000000001 x[12] = 0x000000002018d383 x[13] = 0x0000000000000000 x[14] = 0xfa0000000000fafa x[15] = 0x000010700001ffff x[16] = 0x000000019dc012c0 x[17] = 0x00000001021284f8 x[18] = 0x0000000000000000 x[19] = 0x00000001700acdc0 x[20] = 0x0000000000000002 x[21] = 0x000000002018d384 x[22] = 0x16dd16fd2e731151 x[23] = 0x0000007000020000 x[24] = 0x0000000100c69c08 x[25] = 0x0000000100c69c20 x[26] = 0x00006080000013c7 x[27] = 0x0000000100c69c00 x[28] = 0x00000001700acd60 fp = 0x00000001700aceb0 lr = 0x0000000100abce30 sp = 0x00000001700acd60 AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV __hash_table:1565 in std::__1::pair, std::__1::allocator>, void*>*>, bool> std::__1::__hash_table, std::__1::allocator>, std::__1::hash, std::__1::allocator>>, std::__1::equal_to, std::__1::allocator>>, std::__1::allocator, std::__1::allocator>>>::__emplace_unique_key_args, std::__1::allocator>, std::__1::basic_string, std::__1::allocator> const&>(std::__1::basic_string, std::__1::allocator> const&, std::__1::basic_string, std::__1::allocator> const&) Thread T5 created by T0 here: #0 0x0001020b99d4 in pthread_create+0x5c (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x359d4) #1 0x000100873910 in std::sys::pal::unix::thread::Thread::new::h77254fdd87a28e05+0x118 (predict_oai-98384e17fb94e863:arm64+0x1000f3910) #2 0x0001007c7a1c in test::run_test::haeb3c2bcd5ed6cf6+0x76c (predict_oai-98384e17fb94e863:arm64+0x100047a1c) #3 0x0001007aedb0 in test::console::run_tests_console::he9d142d704f3a986+0x149c (predict_oai-98384e17fb94e863:arm64+0x10002edb0) #4 0x0001007c5758 in test::test_main::hf86a5e20735245b9+0x118 (predict_oai-98384e17fb94e863:arm64+0x100045758) #5 0x0001007c5da0 in test::test_main_static::h61ee9c8fd30abca0+0x54 (predict_oai-98384e17fb94e863:arm64+0x100045da0) ... ==45482==ABORTING --- common/json-schema-to-grammar.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/common/json-schema-to-grammar.cpp b/common/json-schema-to-grammar.cpp index 182c787544..db1f0b23dd 100644 --- a/common/json-schema-to-grammar.cpp +++ b/common/json-schema-to-grammar.cpp @@ -257,12 +257,13 @@ std::unordered_map STRING_FORMAT_RULES = { }; static bool is_reserved_name(const std::string & name) { - static std::unordered_set RESERVED_NAMES; - if (RESERVED_NAMES.empty()) { - RESERVED_NAMES.insert("root"); - for (const auto &p : PRIMITIVE_RULES) RESERVED_NAMES.insert(p.first); - for (const auto &p : STRING_FORMAT_RULES) RESERVED_NAMES.insert(p.first); - } + static const std::unordered_set RESERVED_NAMES = [] { + std::unordered_set s; + s.insert("root"); + for (const auto & p : PRIMITIVE_RULES) s.insert(p.first); + for (const auto & p : STRING_FORMAT_RULES) s.insert(p.first); + return s; + }(); return RESERVED_NAMES.find(name) != RESERVED_NAMES.end(); } From c959b676be29e93f8dbc3bd6056ceba812a9eb72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Wed, 17 Sep 2025 15:32:42 +0200 Subject: [PATCH 23/52] CUDA: fix FA occupancy, optimize tile kernel (#15982) --- ggml/src/ggml-cuda/common.cuh | 16 + ggml/src/ggml-cuda/fattn-common.cuh | 13 +- ggml/src/ggml-cuda/fattn-tile.cu | 551 ++++++++++++++++------------ ggml/src/ggml-cuda/vendors/hip.h | 34 +- 4 files changed, 361 insertions(+), 253 deletions(-) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index b0feea3623..045c6d3006 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -75,6 +75,8 @@ #define GGML_CUDA_CC_IS_RDNA4(cc) (cc >= GGML_CUDA_CC_RDNA4) #define GGML_CUDA_CC_IS_GCN(cc) (cc > GGML_CUDA_CC_OFFSET_AMD && cc < GGML_CUDA_CC_CDNA1) #define GGML_CUDA_CC_IS_CDNA(cc) (cc >= GGML_CUDA_CC_CDNA1 && cc < GGML_CUDA_CC_RDNA1) +#define GGML_CUDA_CC_IS_CDNA1(cc) (cc >= GGML_CUDA_CC_CDNA1 && cc < GGML_CUDA_CC_CDNA2) +#define GGML_CUDA_CC_IS_CDNA2(cc) (cc >= GGML_CUDA_CC_CDNA2 && cc < GGML_CUDA_CC_CDNA3) #define GGML_CUDA_CC_IS_CDNA3(cc) (cc >= GGML_CUDA_CC_CDNA3 && cc < GGML_CUDA_CC_RDNA1) // Moore Threads @@ -325,6 +327,20 @@ static constexpr __device__ int ggml_cuda_get_physical_warp_size() { #endif // defined(GGML_USE_HIP) && (defined(__GFX9__) || defined(__GFX8__)) } +// Maximum number of bytes that can be copied in a single instruction. +static constexpr __device__ int ggml_cuda_get_max_cpy_bytes() { +#ifdef GGML_USE_HIP + return 16; +#else +#if __CUDA_ARCH__ >= GGML_CUDA_CC_VOLTA + return 16; +#else + return 8; +#endif // __CUDA_ARCH__ >= GGML_CUDA_CC_VOLTA +#endif // GGML_USE_HIP +} + + [[noreturn]] static __device__ void no_device_code( const char * file_name, const int line, const char * function_name, const int arch, const char * arch_list) { diff --git a/ggml/src/ggml-cuda/fattn-common.cuh b/ggml/src/ggml-cuda/fattn-common.cuh index b69f57d659..142a3a88d1 100644 --- a/ggml/src/ggml-cuda/fattn-common.cuh +++ b/ggml/src/ggml-cuda/fattn-common.cuh @@ -647,9 +647,7 @@ static __global__ void flash_attn_stream_k_fixup( } template // D == head size -#if !defined(GGML_USE_HIP) __launch_bounds__(D, 1) -#endif // !(defined(GGML_USE_HIP) static __global__ void flash_attn_combine_results( const float * __restrict__ VKQ_parts, const float2 * __restrict__ VKQ_meta, @@ -692,10 +690,7 @@ static __global__ void flash_attn_combine_results( float VKQ_numerator = 0.0f; float VKQ_denominator = 0.0f; for (int l = 0; l < parallel_blocks; ++l) { - const float diff = meta[l].x - kqmax; - float KQ_max_scale = expf(diff); - const uint32_t ftz_mask = 0xFFFFFFFF * (diff > SOFTMAX_FTZ_THRESHOLD); - *((uint32_t *) &KQ_max_scale) &= ftz_mask; + const float KQ_max_scale = expf(meta[l].x - kqmax); VKQ_numerator += KQ_max_scale * VKQ_parts[l*D + tid]; VKQ_denominator += KQ_max_scale * meta[l].y; @@ -836,11 +831,10 @@ void launch_fattn( CUDA_CHECK(cudaGetLastError()); } - int parallel_blocks = 1; - const dim3 block_dim(warp_size, nwarps, 1); int max_blocks_per_sm = 1; // Max. number of active blocks limited by occupancy. CUDA_CHECK(cudaOccupancyMaxActiveBlocksPerMultiprocessor(&max_blocks_per_sm, fattn_kernel, block_dim.x * block_dim.y * block_dim.z, nbytes_shared)); + int parallel_blocks = max_blocks_per_sm; dim3 blocks_num; if (stream_k) { @@ -862,9 +856,6 @@ void launch_fattn( GGML_ASSERT(K->ne[1] % KQ_row_granularity == 0); const int ntiles_KQ = K->ne[1] / KQ_row_granularity; // Max. number of parallel blocks limited by tensor size. - // parallel_blocks should be at least large enough to achieve max. occupancy for a single wave: - parallel_blocks = std::max((nsm * max_blocks_per_sm) / ntiles_total, 1); - // parallel_blocks must not be larger than what the tensor size allows: parallel_blocks = std::min(parallel_blocks, ntiles_KQ); diff --git a/ggml/src/ggml-cuda/fattn-tile.cu b/ggml/src/ggml-cuda/fattn-tile.cu index c6a399ce5d..a2d9951ea5 100644 --- a/ggml/src/ggml-cuda/fattn-tile.cu +++ b/ggml/src/ggml-cuda/fattn-tile.cu @@ -2,20 +2,30 @@ #include "fattn-common.cuh" #include "fattn-tile.cuh" -#define FATTN_TILE_NTHREADS 256 +// kq_stride == number of KQ rows to process per iteration +// kq_nbatch == number of K columns to load in parallel for KQ calculation static int fattn_tile_get_kq_stride_host(const int D, const int ncols, const int cc, const int warp_size) { if (GGML_CUDA_CC_IS_AMD(cc)) { + if (GGML_CUDA_CC_IS_RDNA(cc)) { + switch (D) { + case 64: + return 128; + case 128: + case 256: + return ncols <= 16 ? 128 : 64; + default: + GGML_ABORT("fatal error"); + return -1; + } + } switch (D) { case 64: - return 64; + return ncols == 32 ? 128 : 64; case 128: + return ncols == 32 ? 64 : 32; case 256: - if (GGML_CUDA_CC_IS_GCN(cc) || GGML_CUDA_CC_IS_CDNA(cc)) { - return ncols <= 16 ? 64 : 32; - } else { - return 64; - } + return 32; default: GGML_ABORT("fatal error"); return -1; @@ -49,24 +59,28 @@ static int fattn_tile_get_kq_stride_host(const int D, const int ncols, const int static constexpr __device__ int fattn_tile_get_kq_stride_device(int D, int ncols, int warp_size) { #ifdef GGML_USE_HIP +#ifdef RDNA switch (D) { case 64: - return 64; + return 128; case 128: -#if defined(GCN) || defined(CDNA) - return ncols <= 16 ? 64 : 32; -#else - return 64; -#endif // defined(GCN) || defined(CDNA) case 256: -#if defined(GCN) || defined(CDNA) - return ncols <= 16 ? 64 : 32; -#else - return 64; -#endif // defined(GCN) || defined(CDNA) + return ncols <= 16 ? 128 : 64; default: return -1; } +#else + switch (D) { + case 64: + return ncols == 32 ? 128 : 64; + case 128: + return ncols == 32 ? 64 : 32; + case 256: + return 32; + default: + return -1; + } +#endif // RDNA #else #ifdef FAST_FP16_AVAILABLE switch (D) { @@ -100,17 +114,8 @@ static constexpr __device__ int fattn_tile_get_kq_nbatch_device(int D, int ncols case 64: return 64; case 128: -#if defined(GCN) || defined(CDNA) - return ncols <= 16 ? 64 : 128; -#else - return 64; -#endif // defined(GCN) || defined(CDNA) case 256: -#if defined(GCN) || defined(CDNA) - return ncols <= 16 ? 64 : 128; -#else - return ncols <= 16 ? 64 : 256; -#endif // defined(GCN) || defined(CDNA) + return 128; default: return -1; } @@ -120,9 +125,8 @@ static constexpr __device__ int fattn_tile_get_kq_nbatch_device(int D, int ncols case 64: return 64; case 128: - return ncols <= 16 ? 128 : 64; case 256: - return ncols <= 16 ? 64 : 128; + return 128; default: return -1; } @@ -142,12 +146,27 @@ static constexpr __device__ int fattn_tile_get_kq_nbatch_device(int D, int ncols GGML_UNUSED_VARS(ncols, warp_size); } -template // D == head size -#ifdef GGML_USE_HIP -__launch_bounds__(FATTN_TILE_NTHREADS, 1) +static int fattn_tile_get_nthreads_host(const int cc, const int ncols) { + return 256; + GGML_UNUSED_VARS(cc, ncols); +} + +static constexpr __device__ int fattn_tile_get_nthreads_device(int ncols) { + return 256; + GGML_UNUSED(ncols); +} + +static constexpr __device__ int fattn_tile_get_occupancy_device(int ncols) { +#ifdef RDNA + return 3; #else -__launch_bounds__(FATTN_TILE_NTHREADS, 2) -#endif // GGML_USE_HIP + return ncols <= 16 ? 3 : 2; +#endif // RDNA + GGML_UNUSED(ncols); +} + +template // D == head size +__launch_bounds__(fattn_tile_get_nthreads_device(ncols), fattn_tile_get_occupancy_device(ncols)) static __global__ void flash_attn_tile( const char * __restrict__ Q, const char * __restrict__ K, @@ -193,7 +212,7 @@ static __global__ void flash_attn_tile( } constexpr int warp_size = 32; - constexpr int nwarps = FATTN_TILE_NTHREADS / warp_size; + constexpr int nwarps = fattn_tile_get_nthreads_device(ncols) / warp_size; constexpr int kq_stride = fattn_tile_get_kq_stride_device(D, ncols, warp_size); static_assert(kq_stride % warp_size == 0, "kq_stride not divisable by warp_size."); constexpr int kq_nbatch = fattn_tile_get_kq_nbatch_device(D, ncols, warp_size); @@ -206,90 +225,126 @@ static __global__ void flash_attn_tile( const int sequence = blockIdx.z / ne02; const int head = blockIdx.z - sequence*ne02; const int gqa_ratio = ne02 / ne12; // With grouped query attention there are > 1 Q matrices per K, V matrix. - const float2 * Q_f2 = (const float2 *) (Q + nb03* sequence + nb02* head + nb01*ic0); - const half2 * K_h2 = (const half2 *) (K + nb13* sequence + nb12*(head / gqa_ratio)); - const half2 * V_h2 = (const half2 *) (V + nb13* sequence + nb12*(head / gqa_ratio)); // K and V have same shape - const half * maskh = (const half *) (mask + nb33*(sequence % ne33) + nb31*ic0); - const float * sinksf = (const float *) (sinks); + const float * Q_f = (const float *) (Q + nb03* sequence + nb02* head + nb01*ic0); + const half2 * K_h2 = (const half2 *) (K + nb13* sequence + nb12*(head / gqa_ratio)); + const half2 * V_h2 = (const half2 *) (V + nb13* sequence + nb12*(head / gqa_ratio)); // K and V have same shape + const half * maskh = (const half *) (mask + nb33*(sequence % ne33) + nb31*ic0); + const float * sinksf = (const float *) (sinks); const int stride_KV2 = nb11 / sizeof(half2); const float slope = get_alibi_slope(max_bias, head, n_head_log2, m0, m1); -#if defined(GGML_USE_HIP) - constexpr int cpy_nb = 16; -#else - constexpr int cpy_nb = 8; -#endif // defined(GGML_USE_HIP) && defined(GCN) + constexpr int cpy_nb = ggml_cuda_get_max_cpy_bytes(); constexpr int cpy_ne = cpy_nb / 4; - __shared__ float KQ[ncols][kq_stride]; + constexpr int cpw = ncols/nwarps; // cols per warp + + // softmax_iter_j == number of KQ columns for which to calculate softmax in parallel. + // KQ is originall 2D but uses a Z-shaped memory pattern for larger reads/writes. #ifdef FAST_FP16_AVAILABLE + constexpr int softmax_iter_j = cpw < 2*cpy_ne ? cpw : 2*cpy_ne; + + __shared__ half KQ[ncols/softmax_iter_j][kq_stride][softmax_iter_j]; __shared__ half2 Q_tmp[ncols][D/2]; - __shared__ half2 KV_tmp_h2[kq_stride * (kq_nbatch/2 + cpy_ne)]; // Padded to avoid memory bank conflicts. - half2 VKQ[ncols/nwarps][D/(2*warp_size)] = {{{0.0f, 0.0f}}}; + __shared__ half2 KV_tmp[kq_stride * (kq_nbatch/2 + cpy_ne)]; // Padded to avoid memory bank conflicts. + half2 VKQ[cpw][D/(2*warp_size)] = {{{0.0f, 0.0f}}}; #else + constexpr int softmax_iter_j = cpw < 1*cpy_ne ? cpw : 1*cpy_ne; + + __shared__ float KQ[ncols/softmax_iter_j][kq_stride][softmax_iter_j]; __shared__ float Q_tmp[ncols][D]; - __shared__ float KV_tmp_f[kq_stride * (kq_nbatch + cpy_ne)]; // Padded to avoid memory bank conflicts. - float2 * KV_tmp_f2 = (float2 *) KV_tmp_f; - float2 VKQ[ncols/nwarps][D/(2*warp_size)] = {{{0.0f, 0.0f}}}; + __shared__ float KV_tmp[kq_stride * (kq_nbatch + cpy_ne)]; // Padded to avoid memory bank conflicts. + float2 VKQ[cpw][D/(2*warp_size)] = {{{0.0f, 0.0f}}}; #endif // FAST_FP16_AVAILABLE + static_assert(cpw % softmax_iter_j == 0, "bad softmax_iter_j"); - - float kqmax[ncols/nwarps]; + float KQ_max[cpw]; #pragma unroll for (int j0 = 0; j0 < ncols; j0 += nwarps) { - kqmax[j0/nwarps] = -FLT_MAX/2.0f; + KQ_max[j0/nwarps] = -FLT_MAX/2.0f; } - float kqsum[ncols/nwarps] = {0.0f}; + float KQ_sum[cpw] = {0.0f}; + + // Load Q data, convert to FP16 if fast. +#pragma unroll + for (int j0 = 0; j0 < cpw; ++j0) { + const int j = j0 + threadIdx.y*cpw; + + constexpr int cpy_ne_D = cpy_ne < D/warp_size ? cpy_ne : D/warp_size; #pragma unroll - for (int j0 = 0; j0 < ncols; j0 += nwarps) { - const int j = j0 + threadIdx.y; + for (int i0 = 0; i0 < D; i0 += warp_size*cpy_ne_D) { + float tmp_f[cpy_ne_D] = {0.0f}; + if (ic0 + j < ne01) { + ggml_cuda_memcpy_1(tmp_f, &Q_f[j*(nb01/sizeof(float)) + i0 + threadIdx.x*cpy_ne_D]); + } #pragma unroll - for (int i0 = 0; i0 < D/2; i0 += warp_size) { - const float2 tmp = ic0 + j < ne01 ? Q_f2[j*(nb01/sizeof(float2)) + i0 + threadIdx.x] : make_float2(0.0f, 0.0f); + for (int i1 = 0; i1 < cpy_ne_D; ++i1) { + tmp_f[i1] *= scale; + } + #ifdef FAST_FP16_AVAILABLE - Q_tmp[j][i0 + threadIdx.x] = make_half2(tmp.x * scale, tmp.y * scale); + half2 tmp_h2[cpy_ne_D/2]; +#pragma unroll + for (int i1 = 0; i1 < cpy_ne_D; i1 += 2) { + tmp_h2[i1/2] = make_half2(tmp_f[i1 + 0], tmp_f[i1 + 1]); + } + ggml_cuda_memcpy_1(&Q_tmp[j][i0/2 + threadIdx.x*(cpy_ne_D/2)], tmp_h2); #else - Q_tmp[j][2*i0 + threadIdx.x] = tmp.x * scale; - Q_tmp[j][2*i0 + warp_size + threadIdx.x] = tmp.y * scale; + ggml_cuda_memcpy_1 (&Q_tmp[j][i0 + threadIdx.x* cpy_ne_D], tmp_f); #endif // FAST_FP16_AVAILABLE } } __syncthreads(); + // Main loop over KV cache: const int k_VKQ_max = KV_max ? KV_max[sequence*gridDim.x + blockIdx.x] : ne11; for (int k_VKQ_0 = blockIdx.y*kq_stride; k_VKQ_0 < k_VKQ_max; k_VKQ_0 += gridDim.y*kq_stride) { // Calculate KQ tile and keep track of new maximum KQ values: - float kqmax_new[ncols/nwarps]; + float KQ_max_new[cpw]; #pragma unroll - for (int j = 0; j < ncols/nwarps; ++j) { - kqmax_new[j] = kqmax[j]; + for (int j = 0; j < cpw; ++j) { + KQ_max_new[j] = KQ_max[j]; } - float sum[kq_stride/warp_size][ncols/nwarps] = {{0.0f}}; + float KQ_acc[kq_stride/warp_size][cpw] = {{0.0f}}; // Accumulators for KQ matrix multiplication. + // KQ = K @ Q matrix multiplication: #pragma unroll for (int k_KQ_0 = 0; k_KQ_0 < D; k_KQ_0 += kq_nbatch) { #pragma unroll for (int i_KQ_0 = 0; i_KQ_0 < kq_stride; i_KQ_0 += nwarps) { const int i_KQ = i_KQ_0 + threadIdx.y; -#pragma unroll - for (int k_KQ_1 = 0; k_KQ_1 < kq_nbatch/2; k_KQ_1 += warp_size) { - const half2 tmp_h2 = K_h2[int64_t(k_VKQ_0 + i_KQ)*stride_KV2 + k_KQ_0/2 + k_KQ_1 + threadIdx.x]; #ifdef FAST_FP16_AVAILABLE - KV_tmp_h2[i_KQ*(kq_nbatch/2 + cpy_ne) + k_KQ_1 + threadIdx.x] = tmp_h2; -#else - const float2 tmp_f2 = __half22float2(tmp_h2); - KV_tmp_f[i_KQ*(kq_nbatch + cpy_ne) + 2*k_KQ_1 + threadIdx.x] = tmp_f2.x; - KV_tmp_f[i_KQ*(kq_nbatch + cpy_ne) + 2*k_KQ_1 + warp_size + threadIdx.x] = tmp_f2.y; -#endif // FAST_FP16_AVAILABLE + constexpr int cpy_ne_kqnb = cpy_ne < kq_nbatch/(2*warp_size) ? cpy_ne : kq_nbatch/(2*warp_size); +#pragma unroll + for (int k_KQ_1 = 0; k_KQ_1 < kq_nbatch/2; k_KQ_1 += warp_size*cpy_ne_kqnb) { + ggml_cuda_memcpy_1( + &KV_tmp[i_KQ*(kq_nbatch/2 + cpy_ne) + k_KQ_1 + threadIdx.x*cpy_ne_kqnb], + &K_h2[int64_t(k_VKQ_0 + i_KQ)*stride_KV2 + k_KQ_0/2 + k_KQ_1 + threadIdx.x*cpy_ne_kqnb]); } +#else + constexpr int cpy_ne_kqnb = cpy_ne < kq_nbatch/warp_size ? cpy_ne : kq_nbatch/warp_size; +#pragma unroll + for (int k_KQ_1 = 0; k_KQ_1 < kq_nbatch; k_KQ_1 += warp_size*cpy_ne_kqnb) { + half2 tmp_h2[cpy_ne_kqnb/2]; + ggml_cuda_memcpy_1( + tmp_h2, &K_h2[int64_t(k_VKQ_0 + i_KQ)*stride_KV2 + k_KQ_0/2 + k_KQ_1/2 + threadIdx.x*(cpy_ne_kqnb/2)]); + + float2 tmp_f2[cpy_ne_kqnb/2]; +#pragma unroll + for (int k_KQ_2 = 0; k_KQ_2 < cpy_ne_kqnb/2; ++k_KQ_2) { + tmp_f2[k_KQ_2] = __half22float2(tmp_h2[k_KQ_2]); + } + ggml_cuda_memcpy_1( + &KV_tmp[i_KQ*(kq_nbatch + cpy_ne) + k_KQ_1 + threadIdx.x*cpy_ne_kqnb], tmp_f2); + } +#endif // FAST_FP16_AVAILABLE } __syncthreads(); @@ -298,12 +353,12 @@ static __global__ void flash_attn_tile( #pragma unroll for (int k_KQ_1 = 0; k_KQ_1 < kq_nbatch/2; k_KQ_1 += cpy_ne) { half2 K_k[kq_stride/warp_size][cpy_ne]; - half2 Q_k[ncols/nwarps][cpy_ne]; + half2 Q_k[cpw][cpy_ne]; #else #pragma unroll for (int k_KQ_1 = 0; k_KQ_1 < kq_nbatch; k_KQ_1 += cpy_ne) { float K_k[kq_stride/warp_size][cpy_ne]; - float Q_k[ncols/nwarps][cpy_ne]; + float Q_k[cpw][cpy_ne]; #endif // FAST_FP16_AVAILABLE #pragma unroll @@ -311,29 +366,29 @@ static __global__ void flash_attn_tile( const int i_KQ = i_KQ_0 + threadIdx.x; #ifdef FAST_FP16_AVAILABLE - ggml_cuda_memcpy_1(&K_k[i_KQ_0/warp_size], &KV_tmp_h2[i_KQ*(kq_nbatch/2 + cpy_ne) + k_KQ_1]); + ggml_cuda_memcpy_1(&K_k[i_KQ_0/warp_size], &KV_tmp[i_KQ*(kq_nbatch/2 + cpy_ne) + k_KQ_1]); #else - ggml_cuda_memcpy_1(&K_k[i_KQ_0/warp_size], &KV_tmp_f [i_KQ*(kq_nbatch + cpy_ne) + k_KQ_1]); + ggml_cuda_memcpy_1(&K_k[i_KQ_0/warp_size], &KV_tmp[i_KQ*(kq_nbatch + cpy_ne) + k_KQ_1]); #endif // FAST_FP16_AVAILABLE } #pragma unroll - for (int j_KQ_0 = 0; j_KQ_0 < ncols; j_KQ_0 += nwarps) { - const int j_KQ = j_KQ_0 + threadIdx.y; + for (int j_KQ_0 = 0; j_KQ_0 < cpw; ++j_KQ_0) { + const int j_KQ = j_KQ_0 + threadIdx.y*cpw; #ifdef FAST_FP16_AVAILABLE - ggml_cuda_memcpy_1(&Q_k[j_KQ_0/nwarps], &Q_tmp[j_KQ][k_KQ_0/2 + k_KQ_1]); + ggml_cuda_memcpy_1(&Q_k[j_KQ_0], &Q_tmp[j_KQ][k_KQ_0/2 + k_KQ_1]); #else - ggml_cuda_memcpy_1(&Q_k[j_KQ_0/nwarps], &Q_tmp[j_KQ][k_KQ_0 + k_KQ_1]); + ggml_cuda_memcpy_1(&Q_k[j_KQ_0], &Q_tmp[j_KQ][k_KQ_0 + k_KQ_1]); #endif // FAST_FP16_AVAILABLE } #pragma unroll for (int i_KQ_0 = 0; i_KQ_0 < kq_stride; i_KQ_0 += warp_size) { #pragma unroll - for (int j_KQ_0 = 0; j_KQ_0 < ncols; j_KQ_0 += nwarps) { + for (int j_KQ_0 = 0; j_KQ_0 < cpw; ++j_KQ_0) { #pragma unroll for (int k = 0; k < cpy_ne; ++k) { - ggml_cuda_mad(sum[i_KQ_0/warp_size][j_KQ_0/nwarps], K_k[i_KQ_0/warp_size][k], Q_k[j_KQ_0/nwarps][k]); + ggml_cuda_mad(KQ_acc[i_KQ_0/warp_size][j_KQ_0], K_k[i_KQ_0/warp_size][k], Q_k[j_KQ_0][k]); } } } @@ -344,104 +399,77 @@ static __global__ void flash_attn_tile( } } + // Apply logit softcap, mask, update KQ_max: #pragma unroll for (int i_KQ_0 = 0; i_KQ_0 < kq_stride; i_KQ_0 += warp_size) { const int i_KQ = i_KQ_0 + threadIdx.x; #pragma unroll - for (int j_KQ_0 = 0; j_KQ_0 < ncols; j_KQ_0 += nwarps) { - const int j_KQ = j_KQ_0 + threadIdx.y; + for (int j_KQ_0 = 0; j_KQ_0 < cpw; ++j_KQ_0) { + const int j_KQ = j_KQ_0 + threadIdx.y*cpw; if (use_logit_softcap) { - sum[i_KQ_0/warp_size][j_KQ_0/nwarps] = logit_softcap * tanhf(sum[i_KQ_0/warp_size][j_KQ_0/nwarps]); + KQ_acc[i_KQ_0/warp_size][j_KQ_0] = logit_softcap * tanhf(KQ_acc[i_KQ_0/warp_size][j_KQ_0]); } - sum[i_KQ_0/warp_size][j_KQ_0/nwarps] += mask ? slope*__half2float(maskh[j_KQ*ne11 + k_VKQ_0 + i_KQ]) : 0.0f; + KQ_acc[i_KQ_0/warp_size][j_KQ_0] += mask ? slope*__half2float(maskh[j_KQ*ne11 + k_VKQ_0 + i_KQ]) : 0.0f; - kqmax_new[j_KQ_0/nwarps] = fmaxf(kqmax_new[j_KQ_0/nwarps], sum[i_KQ_0/warp_size][j_KQ_0/nwarps]); - - KQ[j_KQ][i_KQ] = sum[i_KQ_0/warp_size][j_KQ_0/nwarps]; + KQ_max_new[j_KQ_0] = fmaxf(KQ_max_new[j_KQ_0], KQ_acc[i_KQ_0/warp_size][j_KQ_0]); } } __syncthreads(); + // Calculate KQ softmax, write to shared KQ buffer, re-scale VKQ accumulators: #pragma unroll - for (int j0 = 0; j0 < ncols; j0 += nwarps) { - const int j = j0 + threadIdx.y; - - kqmax_new[j0/nwarps] = warp_reduce_max(kqmax_new[j0/nwarps]); - const float KQ_max_scale = expf(kqmax[j0/nwarps] - kqmax_new[j0/nwarps]); - kqmax[j0/nwarps] = kqmax_new[j0/nwarps]; - - float kqsum_add = 0.0f; - if (kq_stride % (4*warp_size) == 0 && cpy_ne % 4 == 0) { -#pragma unroll - for (int i0 = 0; i0 < kq_stride; i0 += 4*warp_size) { - const int i = i0 + 4*threadIdx.x; - - float4 val = *(const float4 *) &KQ[j][i]; - val.x = expf(val.x - kqmax[j0/nwarps]); - val.y = expf(val.y - kqmax[j0/nwarps]); - val.z = expf(val.z - kqmax[j0/nwarps]); - val.w = expf(val.w - kqmax[j0/nwarps]); - kqsum_add += val.x + val.y + val.z + val.w; - + for (int j0 = 0; j0 < cpw; j0 += softmax_iter_j) { #ifdef FAST_FP16_AVAILABLE - const half2 tmp[2] = {make_half2(val.x, val.y), make_half2(val.z, val.w)}; - ggml_cuda_memcpy_1(&KQ[j][i/2], &tmp); + half tmp[kq_stride/warp_size][softmax_iter_j]; #else - ggml_cuda_memcpy_1(&KQ[j][i], &val); + float tmp[kq_stride/warp_size][softmax_iter_j]; #endif // FAST_FP16_AVAILABLE - } - } else if (kq_stride % (2*warp_size) == 0 && cpy_ne % 2 == 0) { -#pragma unroll - for (int i0 = 0; i0 < kq_stride; i0 += 2*warp_size) { - const int i = i0 + 2*threadIdx.x; - float2 val = *(const float2 *) &KQ[j][i]; - val.x = expf(val.x - kqmax[j0/nwarps]); - val.y = expf(val.y - kqmax[j0/nwarps]); - kqsum_add += val.x + val.y; -#ifdef FAST_FP16_AVAILABLE - const half2 tmp = make_half2(val.x, val.y); - ggml_cuda_memcpy_1(&KQ[j][i/2], &tmp); -#else - ggml_cuda_memcpy_1(&KQ[j][i], &val); -#endif // FAST_FP16_AVAILABLE - } - } else { +#pragma unroll + for (int j1 = 0; j1 < softmax_iter_j; ++j1) { + KQ_max_new[j0+j1] = warp_reduce_max(KQ_max_new[j0+j1]); + const float KQ_max_scale = expf(KQ_max[j0+j1] - KQ_max_new[j0+j1]); + KQ_max[j0+j1] = KQ_max_new[j0+j1]; + + float KQ_sum_add = 0.0f; +#pragma unroll for (int i0 = 0; i0 < kq_stride; i0 += warp_size) { - const int i = i0 + threadIdx.x; - - const float diff = KQ[j][i] - kqmax[j0/nwarps]; - const float val = expf(diff); - kqsum_add += val; -#ifdef FAST_FP16_AVAILABLE - ((half *) KQ[j])[i] = val; -#else - KQ[j][i] = val; -#endif // FAST_FP16_AVAILABLE + const float val = expf(KQ_acc[i0/warp_size][j0+j1] - KQ_max[j0+j1]); + KQ_sum_add += val; + tmp[i0/warp_size][j1] = val; } - } - kqsum[j0/nwarps] = kqsum[j0/nwarps]*KQ_max_scale + kqsum_add; + KQ_sum[j0+j1] = KQ_sum[j0+j1]*KQ_max_scale + KQ_sum_add; #ifdef FAST_FP16_AVAILABLE - const half2 KQ_max_scale_h2 = make_half2(KQ_max_scale, KQ_max_scale); + const half2 KQ_max_scale_h2 = make_half2(KQ_max_scale, KQ_max_scale); #pragma unroll - for (int i0 = 0; i0 < D/2; i0 += warp_size) { - VKQ[j0/nwarps][i0/warp_size] *= KQ_max_scale_h2; - } + for (int i0 = 0; i0 < D/2; i0 += warp_size) { + VKQ[j0+j1][i0/warp_size] *= KQ_max_scale_h2; + } #else #pragma unroll - for (int i0 = 0; i0 < D/2; i0 += warp_size) { - VKQ[j0/nwarps][i0/warp_size].x *= KQ_max_scale; - VKQ[j0/nwarps][i0/warp_size].y *= KQ_max_scale; - } + for (int i0 = 0; i0 < D/2; i0 += warp_size) { + VKQ[j0+j1][i0/warp_size].x *= KQ_max_scale; + VKQ[j0+j1][i0/warp_size].y *= KQ_max_scale; + } #endif // FAST_FP16_AVAILABLE + } + +#pragma unroll + for (int i0 = 0; i0 < kq_stride; i0 += warp_size) { + const int i = i0 + threadIdx.x; + + ggml_cuda_memcpy_1( + KQ[j0/softmax_iter_j + threadIdx.y*(cpw/softmax_iter_j)][i], tmp[i0/warp_size]); + } } - constexpr int V_cols_per_iter = kq_stride*kq_nbatch / D; + // VKQ = V @ KQ matrix multiplication: + constexpr int V_cols_per_iter = kq_stride*kq_nbatch / D; // Number of V columns that fit in SRAM for K. static_assert(kq_stride % V_cols_per_iter == 0, "bad V_cols_per_iter"); #pragma unroll for (int k0 = 0; k0 < kq_stride; k0 += V_cols_per_iter) { @@ -449,65 +477,96 @@ static __global__ void flash_attn_tile( for (int k1 = 0; k1 < V_cols_per_iter; k1 += nwarps) { const int k_tile = k1 + threadIdx.y; -#pragma unroll - for (int i0 = 0; i0 < D/2; i0 += warp_size) { - const int i = i0 + threadIdx.x; - - const half2 tmp = V_h2[int64_t(k_VKQ_0 + k0 + k_tile)*stride_KV2 + i]; #ifdef FAST_FP16_AVAILABLE - KV_tmp_h2[k_tile*(D/2) + i] = tmp; -#else - KV_tmp_f2[k_tile*(D/2) + i] = __half22float2(tmp); -#endif // FAST_FP16_AVAILABLE + constexpr int cpy_ne_D = cpy_ne < D/(2*warp_size) ? cpy_ne : D/(2*warp_size); +#pragma unroll + for (int i0 = 0; i0 < D/2; i0 += warp_size*cpy_ne_D) { + ggml_cuda_memcpy_1( + &KV_tmp[k_tile*(D/2) + i0 + threadIdx.x*cpy_ne_D], + &V_h2[int64_t(k_VKQ_0 + k0 + k_tile)*stride_KV2 + i0 + threadIdx.x*cpy_ne_D]); } +#else + constexpr int cpy_ne_D = cpy_ne < D/warp_size ? cpy_ne : D/warp_size; +#pragma unroll + for (int i0 = 0; i0 < D; i0 += warp_size*cpy_ne_D) { + half2 tmp_h2[cpy_ne_D/2]; + ggml_cuda_memcpy_1( + tmp_h2, &V_h2[int64_t(k_VKQ_0 + k0 + k_tile)*stride_KV2 + i0/2 + threadIdx.x*(cpy_ne_D/2)]); + + float2 tmp_f2[cpy_ne_D/2]; +#pragma unroll + for (int i1 = 0; i1 < cpy_ne_D/2; ++i1) { + tmp_f2[i1] = __half22float2(tmp_h2[i1]); + } + ggml_cuda_memcpy_1( + &KV_tmp[k_tile*D + i0 + threadIdx.x*cpy_ne_D], tmp_f2); + } +#endif // FAST_FP16_AVAILABLE } __syncthreads(); +#ifdef FAST_FP16_AVAILABLE #pragma unroll for (int k1 = 0; k1 < V_cols_per_iter; ++k1) { -#ifdef FAST_FP16_AVAILABLE half2 V_k[(D/2)/warp_size]; - half2 KQ_k[ncols/nwarps]; -#else - float2 V_k[(D/2)/warp_size]; - float KQ_k[ncols/nwarps]; -#endif // FAST_FP16_AVAILABLE + half2 KQ_k[cpw]; + constexpr int cpy_ne_D = cpy_ne/2 < (D/2)/warp_size ? cpy_ne/2 : (D/2)/warp_size; #pragma unroll - for (int i0 = 0; i0 < D/2; i0 += warp_size) { - const int i = i0 + threadIdx.x; - -#ifdef FAST_FP16_AVAILABLE - V_k[i0/warp_size] = KV_tmp_h2[k1*(D/2) + i]; -#else - V_k[i0/warp_size] = KV_tmp_f2[k1*(D/2) + i]; -#endif // FAST_FP16_AVAILABLE + for (int i0 = 0; i0 < D/2; i0 += warp_size*cpy_ne_D) { + ggml_cuda_memcpy_1(&V_k[i0/warp_size], &KV_tmp[k1*(D/2) + i0 + threadIdx.x*cpy_ne_D]); } #pragma unroll - for (int j0 = 0; j0 < ncols; j0 += nwarps) { - const int j = j0 + threadIdx.y; + for (int j0 = 0; j0 < cpw; j0 += softmax_iter_j) { + const int j = j0/softmax_iter_j + threadIdx.y*(cpw/softmax_iter_j); -#ifdef FAST_FP16_AVAILABLE - KQ_k[j0/nwarps] = __half2half2(((const half *)KQ[j])[k0 + k1]); -#else - KQ_k[j0/nwarps] = KQ[j][k0 + k1]; -#endif // FAST_FP16_AVAILABLE + half tmp[softmax_iter_j]; + ggml_cuda_memcpy_1( + &tmp, KQ[j][k0 + k1]); +#pragma unroll + for (int j1 = 0; j1 < softmax_iter_j; ++j1) { + KQ_k[j0+j1] = __half2half2(tmp[j1]); + } } #pragma unroll for (int i0 = 0; i0 < D/2; i0 += warp_size) { #pragma unroll - for (int j0 = 0; j0 < ncols; j0 += nwarps) { -#ifdef FAST_FP16_AVAILABLE - VKQ[j0/nwarps][i0/warp_size] += V_k[i0/warp_size] *KQ_k[j0/nwarps]; -#else - VKQ[j0/nwarps][i0/warp_size].x += V_k[i0/warp_size].x*KQ_k[j0/nwarps]; - VKQ[j0/nwarps][i0/warp_size].y += V_k[i0/warp_size].y*KQ_k[j0/nwarps]; -#endif // FAST_FP16_AVAILABLE + for (int j0 = 0; j0 < cpw; ++j0) { + VKQ[j0][i0/warp_size] += V_k[i0/warp_size]*KQ_k[j0]; } } } +#else +#pragma unroll + for (int k1 = 0; k1 < V_cols_per_iter; ++k1) { + float2 V_k[(D/2)/warp_size]; + float KQ_k[cpw]; + + constexpr int cpy_ne_D = cpy_ne < D/warp_size ? cpy_ne : D/warp_size; +#pragma unroll + for (int i0 = 0; i0 < D; i0 += warp_size*cpy_ne_D) { + ggml_cuda_memcpy_1(&V_k[i0/(2*warp_size)], &KV_tmp[k1*D + i0 + threadIdx.x*cpy_ne_D]); + } +#pragma unroll + for (int j0 = 0; j0 < cpw; j0 += softmax_iter_j) { + const int j = j0/softmax_iter_j + threadIdx.y*(cpw/softmax_iter_j); + + ggml_cuda_memcpy_1( + &KQ_k[j0], KQ[j][k0 + k1]); + } + +#pragma unroll + for (int i0 = 0; i0 < D/2; i0 += warp_size) { +#pragma unroll + for (int j0 = 0; j0 < cpw; ++j0) { + VKQ[j0][i0/warp_size].x += V_k[i0/warp_size].x*KQ_k[j0]; + VKQ[j0][i0/warp_size].y += V_k[i0/warp_size].y*KQ_k[j0]; + } + } + } +#endif // FAST_FP16_AVAILABLE __syncthreads(); } @@ -519,69 +578,92 @@ static __global__ void flash_attn_tile( const float sink = sinksf[head]; #pragma unroll - for (int j0 = 0; j0 < ncols; j0 += nwarps) { - float kqmax_new_j = fmaxf(kqmax[j0/nwarps], sink); - kqmax_new_j = warp_reduce_max(kqmax_new_j); + for (int j0 = 0; j0 < cpw; ++j0) { + float KQ_max_new_j = fmaxf(KQ_max[j0], sink); + KQ_max_new_j = warp_reduce_max(KQ_max_new_j); - const float KQ_max_scale = expf(kqmax[j0/nwarps] - kqmax_new_j); - kqmax[j0/nwarps] = kqmax_new_j; + const float KQ_max_scale = expf(KQ_max[j0] - KQ_max_new_j); + KQ_max[j0] = KQ_max_new_j; - const float val = expf(sink - kqmax[j0/nwarps]); - kqsum[j0/nwarps] = kqsum[j0/nwarps] * KQ_max_scale; + const float val = expf(sink - KQ_max[j0]); + KQ_sum[j0] = KQ_sum[j0] * KQ_max_scale; if (threadIdx.x == 0) { - kqsum[j0/nwarps] += val; + KQ_sum[j0] += val; } #ifdef FAST_FP16_AVAILABLE const half2 KQ_max_scale_h2 = make_half2(KQ_max_scale, KQ_max_scale); #pragma unroll for (int i0 = 0; i0 < D/2; i0 += warp_size) { - VKQ[j0/nwarps][i0/warp_size] *= KQ_max_scale_h2; + VKQ[j0][i0/warp_size] *= KQ_max_scale_h2; } #else #pragma unroll for (int i0 = 0; i0 < D/2; i0 += warp_size) { - VKQ[j0/nwarps][i0/warp_size].x *= KQ_max_scale; - VKQ[j0/nwarps][i0/warp_size].y *= KQ_max_scale; + VKQ[j0][i0/warp_size].x *= KQ_max_scale; + VKQ[j0][i0/warp_size].y *= KQ_max_scale; } #endif // FAST_FP16_AVAILABLE } } - float2 * dst2 = (float2 *) dst; - #pragma unroll - for (int j_VKQ_0 = 0; j_VKQ_0 < ncols; j_VKQ_0 += nwarps) { - const int j_VKQ = j_VKQ_0 + threadIdx.y; + for (int j_VKQ_0 = 0; j_VKQ_0 < cpw; ++j_VKQ_0) { + KQ_sum[j_VKQ_0] = warp_reduce_sum(KQ_sum[j_VKQ_0]); + } + if (gridDim.y == 1) { +#pragma unroll + for (int j_VKQ_0 = 0; j_VKQ_0 < cpw; ++j_VKQ_0) { +#ifdef FAST_FP16_AVAILABLE + const half2 KQ_sum_j_inv = make_half2(1.0f/KQ_sum[j_VKQ_0], 1.0f/KQ_sum[j_VKQ_0]); +#pragma unroll + for (int i = 0; i < (D/2)/warp_size; ++i) { + VKQ[j_VKQ_0][i] *= KQ_sum_j_inv; + } +#else + const float KQ_sum_j_inv = 1.0f/KQ_sum[j_VKQ_0]; +#pragma unroll + for (int i = 0; i < (D/2)/warp_size; ++i) { + VKQ[j_VKQ_0][i].x *= KQ_sum_j_inv; + VKQ[j_VKQ_0][i].y *= KQ_sum_j_inv; + } +#endif // FAST_FP16_AVAILABLE + } + } + + // Write back results: +#pragma unroll + for (int j_VKQ_0 = 0; j_VKQ_0 < cpw; ++j_VKQ_0) { + const int j_VKQ = j_VKQ_0 + threadIdx.y*cpw; if (ic0 + j_VKQ >= ne01) { return; } - float kqsum_j = kqsum[j_VKQ_0/nwarps]; - kqsum_j = warp_reduce_sum(kqsum_j); - const int j_dst_unrolled = ((sequence*ne01 + ic0 + j_VKQ)*ne02 + head)*gridDim.y + blockIdx.y; -#pragma unroll - for (int i00 = 0; i00 < D/2; i00 += warp_size) { - const int i0 = i00 + threadIdx.x; - #ifdef FAST_FP16_AVAILABLE - float2 dst_val = __half22float2(VKQ[j_VKQ_0/nwarps][i0/warp_size]); + constexpr int cpy_ne_D = cpy_ne/2 < (D/2)/warp_size ? cpy_ne/2 : (D/2)/warp_size; +#pragma unroll + for (int i0 = 0; i0 < D/2; i0 += warp_size*cpy_ne_D) { + float2 tmp[cpy_ne_D]; +#pragma unroll + for (int i1 = 0; i1 < cpy_ne_D; ++i1) { + tmp[i1] = __half22float2(VKQ[j_VKQ_0][i0/warp_size + i1]); + } + ggml_cuda_memcpy_1(&dst[j_dst_unrolled*D + 2*i0 + threadIdx.x*(2*cpy_ne_D)], tmp); + } #else - float2 dst_val = VKQ[j_VKQ_0/nwarps][i0/warp_size]; + constexpr int cpy_ne_D = cpy_ne < D/warp_size ? cpy_ne : D/warp_size; +#pragma unroll + for (int i0 = 0; i0 < D; i0 += warp_size*cpy_ne_D) { + ggml_cuda_memcpy_1( + &dst[j_dst_unrolled*D + i0 + threadIdx.x*cpy_ne_D], &VKQ[j_VKQ_0][i0/(2*warp_size)]); + } #endif // FAST_FP16_AVAILABLE - if (gridDim.y == 1) { - dst_val.x /= kqsum_j; - dst_val.y /= kqsum_j; - } - dst2[j_dst_unrolled*(D/2) + i0] = dst_val; - } - if (gridDim.y != 1 && threadIdx.x == 0) { - dst_meta[j_dst_unrolled] = make_float2(kqmax[j_VKQ_0/nwarps], kqsum_j); + dst_meta[j_dst_unrolled] = make_float2(KQ_max[j_VKQ_0], KQ_sum[j_VKQ_0]); } } #else @@ -602,15 +684,29 @@ template static void launch_fattn_tile_switch_ncols(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { const ggml_tensor * Q = dst->src[0]; - const int id = ggml_cuda_get_device(); - const int cc = ggml_cuda_info().devices[id].cc; - const int warp_size = 32; - const int nwarps = FATTN_TILE_NTHREADS / warp_size; + const int id = ggml_cuda_get_device(); + const int cc = ggml_cuda_info().devices[id].cc; + const int warp_size = 32; constexpr size_t nbytes_shared = 0; +#ifdef GGML_USE_HIP + if constexpr (D <= 128) { + if (Q->ne[1] > 32) { + constexpr int cols_per_block = 64; + const int nwarps = fattn_tile_get_nthreads_host(cc, cols_per_block) / warp_size; + fattn_kernel_t fattn_kernel = flash_attn_tile; + const int kq_stride = fattn_tile_get_kq_stride_host(D, cols_per_block, cc, warp_size); + launch_fattn + (ctx, dst, fattn_kernel, nwarps, nbytes_shared, kq_stride, true, true, false, warp_size); + return; + } + } +#endif // GGML_USE_HIP + if (Q->ne[1] > 16) { constexpr int cols_per_block = 32; + const int nwarps = fattn_tile_get_nthreads_host(cc, cols_per_block) / warp_size; fattn_kernel_t fattn_kernel = flash_attn_tile; const int kq_stride = fattn_tile_get_kq_stride_host(D, cols_per_block, cc, warp_size); launch_fattn @@ -619,6 +715,7 @@ static void launch_fattn_tile_switch_ncols(ggml_backend_cuda_context & ctx, ggml } constexpr int cols_per_block = 16; + const int nwarps = fattn_tile_get_nthreads_host(cc, cols_per_block) / warp_size; fattn_kernel_t fattn_kernel = flash_attn_tile; const int kq_stride = fattn_tile_get_kq_stride_host(D, cols_per_block, cc, warp_size); launch_fattn diff --git a/ggml/src/ggml-cuda/vendors/hip.h b/ggml/src/ggml-cuda/vendors/hip.h index 12bbee4556..37386afcd4 100644 --- a/ggml/src/ggml-cuda/vendors/hip.h +++ b/ggml/src/ggml-cuda/vendors/hip.h @@ -158,41 +158,41 @@ #define __CUDA_ARCH__ 1300 -#if defined(__gfx803__) || defined(__gfx900__) || defined(__gfx906__) -#define GCN -#endif - #if defined(__gfx900__) || defined(__gfx906__) #define GCN5 -#endif +#endif // defined(__gfx900__) || defined(__gfx906__) #if defined(__gfx803__) #define GCN4 -#endif +#endif // defined(__gfx803__) -#if defined(__gfx908__) || defined(__gfx90a__) || defined(__gfx942__) -#define CDNA // For the entire family -#endif +#if defined(GCN5) || defined(GCN4) +#define GCN +#endif // defined(GCN5) || defined(GCN4) #if defined(__gfx942__) #define CDNA3 -#endif +#endif // defined(__gfx942__) #if defined(__gfx90a__) #define CDNA2 -#endif +#endif // defined(__gfx90a__) #if defined(__gfx908__) #define CDNA1 -#endif +#endif // defined(__gfx908__) + +#if defined(CDNA3) || defined(CDNA2) || defined(CDNA1) +#define CDNA // For the entire family +#endif // defined(CDNA3) || defined(CDNA2) || defined(CDNA1) #if defined(__GFX12__) #define RDNA4 -#endif +#endif // defined(__GFX12__) #if defined(__GFX11__) #define RDNA3 -#endif +#endif // defined(__GFX11__) #if defined(__gfx1030__) || defined(__gfx1031__) || defined(__gfx1032__) || defined(__gfx1033__) || \ defined(__gfx1034__) || defined(__gfx1035__) || defined(__gfx1036__) || defined(__gfx1037__) @@ -201,7 +201,11 @@ #if defined(__gfx1010__) || defined(__gfx1012__) #define RDNA1 -#endif +#endif // defined(__gfx1010__) || defined(__gfx1012__) + +#if defined(RDNA4) || defined(RDNA3) || defined(RDNA2) || defined(RDNA1) +#define RDNA // For the entire family +#endif // defined(RDNA4) || defined(RDNA3) || defined(RDNA2) || defined(RDNA1) #ifndef __has_builtin #define __has_builtin(x) 0 From 8f8f2274ee3601fecf6e2d57b52f701c81bede21 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Thu, 18 Sep 2025 00:18:21 +0700 Subject: [PATCH 24/52] convert : add Llama4ForCausalLM (#16042) * convert : add Llama4ForCausalLM * handle swa * half working version * fix use_kq_norm * fix use_kq_norm --- convert_hf_to_gguf.py | 9 +++++++- src/llama-hparams.h | 2 +- src/llama-model.cpp | 48 ++++++++++++++++++++++++++++++++++--------- src/llama-model.h | 3 +++ 4 files changed, 50 insertions(+), 12 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index ce83f24695..7ddec48ad7 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -2393,7 +2393,10 @@ class SmolVLMModel(MmprojModel): return [] # skip other tensors -@ModelBase.register("Llama4ForConditionalGeneration") +@ModelBase.register( + "Llama4ForConditionalGeneration", + "Llama4ForCausalLM", +) class Llama4Model(LlamaModel): model_arch = gguf.MODEL_ARCH.LLAMA4 undo_permute = False @@ -2411,6 +2414,10 @@ class Llama4Model(LlamaModel): super().set_gguf_parameters() self.gguf_writer.add_interleave_moe_layer_step(self.hparams["interleave_moe_layer_step"]) self.gguf_writer.add_expert_feed_forward_length(self.hparams["intermediate_size_moe"]) + if "layer_types" in self.hparams: + if all(lt == "full_attention" for lt in self.hparams["layer_types"]): + # all layers are full attention (for MobileLLM), disable swa + self.gguf_writer.add_sliding_window(0) def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None): if name.startswith("language_model."): diff --git a/src/llama-hparams.h b/src/llama-hparams.h index 116d728e8c..202cbbd1b2 100644 --- a/src/llama-hparams.h +++ b/src/llama-hparams.h @@ -149,7 +149,7 @@ struct llama_hparams { bool causal_attn = true; bool use_alibi = false; bool attn_soft_cap = false; - bool use_kq_norm = true; + bool use_kq_norm = false; // for Classifiers uint32_t n_cls_out = 1; diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 2be807a6a9..981e57083c 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -36,6 +36,7 @@ const char * llm_type_name(llm_type type) { case LLM_TYPE_80M: return "80M"; case LLM_TYPE_109M: return "109M"; case LLM_TYPE_137M: return "137M"; + case LLM_TYPE_140M: return "140M"; case LLM_TYPE_160M: return "160M"; case LLM_TYPE_190M: return "190M"; case LLM_TYPE_220M: return "220M"; @@ -44,6 +45,7 @@ const char * llm_type_name(llm_type type) { case LLM_TYPE_270M: return "270M"; case LLM_TYPE_335M: return "335M"; case LLM_TYPE_350M: return "350M"; + case LLM_TYPE_360M: return "360M"; case LLM_TYPE_410M: return "410M"; case LLM_TYPE_450M: return "450M"; case LLM_TYPE_475M: return "475M"; @@ -51,6 +53,7 @@ const char * llm_type_name(llm_type type) { case LLM_TYPE_700M: return "700M"; case LLM_TYPE_770M: return "770M"; case LLM_TYPE_780M: return "780M"; + case LLM_TYPE_950M: return "950M"; case LLM_TYPE_0_3B: return "0.3B"; case LLM_TYPE_0_5B: return "0.5B"; case LLM_TYPE_0_6B: return "0.6B"; @@ -622,19 +625,32 @@ void llama_model::load_hparams(llama_model_loader & ml) { ml.get_key(LLM_KV_EXPERT_FEED_FORWARD_LENGTH, hparams.n_ff_exp); ml.get_key(LLM_KV_INTERLEAVE_MOE_LAYER_STEP, hparams.n_moe_layer_step); - hparams.swa_type = LLAMA_SWA_TYPE_CHUNKED; - hparams.n_swa = 8192; // should this be a gguf kv? currently it's the same for Scout and Maverick - hparams.set_swa_pattern(4); // pattern: 3 chunked - 1 full + const bool found_swa = ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW, hparams.n_swa, false); + if (found_swa && hparams.n_swa == 0) { + hparams.swa_type = LLAMA_SWA_TYPE_NONE; + hparams.n_no_rope_layer_step = hparams.n_layer; // always use rope + } else { + hparams.swa_type = LLAMA_SWA_TYPE_CHUNKED; + hparams.n_swa = 8192; + hparams.set_swa_pattern(4); // pattern: 3 chunked - 1 full + } switch (hparams.n_expert) { + case 0: { + // MobileLLM (no MoE) + switch (hparams.n_embd) { + case 2048: type = LLM_TYPE_140M; break; + case 4096: type = LLM_TYPE_360M; break; + case 6144: type = LLM_TYPE_950M; break; + default: type = LLM_TYPE_UNKNOWN; + } + } break; case 16: type = LLM_TYPE_17B_16E; break; case 128: type = LLM_TYPE_17B_128E; break; default: type = LLM_TYPE_UNKNOWN; } - if (type == LLM_TYPE_17B_128E) { - hparams.use_kq_norm = false; - } + hparams.use_kq_norm = type != LLM_TYPE_17B_128E; } break; case LLM_ARCH_ARCEE: { @@ -2454,9 +2470,8 @@ bool llama_model::load_tensors(llama_model_loader & ml) { output = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {n_embd, n_vocab}, TENSOR_DUPLICATED); } - GGML_ASSERT(hparams.n_moe_layer_step > 0 && "Llama 4 requires n_moe_layer_step > 0"); for (int i = 0; i < n_layer; ++i) { - bool is_moe_layer = (i + 1) % hparams.n_moe_layer_step == 0; + bool is_moe_layer = hparams.n_moe_layer_step > 0 && (i + 1) % hparams.n_moe_layer_step == 0; auto & layer = layers[i]; @@ -6328,6 +6343,14 @@ struct llm_build_llama : public llm_graph_context { cb(Kcur, "Kcur", il); cb(Vcur, "Vcur", il); + if (hparams.use_kq_norm) { + // Llama4TextL2Norm + Qcur = ggml_rms_norm(ctx0, Qcur, hparams.f_norm_rms_eps); + Kcur = ggml_rms_norm(ctx0, Kcur, hparams.f_norm_rms_eps); + cb(Qcur, "Qcur_normed", il); + cb(Kcur, "Kcur_normed", il); + } + cur = build_attn(inp_attn, model.layers[il].wo, model.layers[il].bo, Qcur, Kcur, Vcur, nullptr, nullptr, nullptr, kq_scale, il); @@ -6435,7 +6458,8 @@ struct llm_build_llama_iswa : public llm_graph_context { for (int il = 0; il < n_layer; ++il) { ggml_tensor * inpSA = inpL; - const bool use_rope = (il + 1) % hparams.n_no_rope_layer_step != 0; + const bool use_rope = hparams.n_no_rope_layer_step > 0 && + (il + 1) % hparams.n_no_rope_layer_step != 0; // norm cur = build_norm(inpL, @@ -18981,7 +19005,11 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const { } break; case LLM_ARCH_LLAMA4: { - llm = std::make_unique(*this, params); + if (hparams.swa_type == LLAMA_SWA_TYPE_NONE) { + llm = std::make_unique(*this, params); + } else { + llm = std::make_unique(*this, params); + } } break; case LLM_ARCH_DECI: { diff --git a/src/llama-model.h b/src/llama-model.h index 10b1767f27..b1981978e3 100644 --- a/src/llama-model.h +++ b/src/llama-model.h @@ -28,6 +28,7 @@ enum llm_type { LLM_TYPE_80M, LLM_TYPE_109M, LLM_TYPE_137M, + LLM_TYPE_140M, LLM_TYPE_160M, LLM_TYPE_190M, LLM_TYPE_220M, @@ -36,6 +37,7 @@ enum llm_type { LLM_TYPE_270M, LLM_TYPE_335M, LLM_TYPE_350M, + LLM_TYPE_360M, LLM_TYPE_410M, LLM_TYPE_450M, LLM_TYPE_475M, @@ -43,6 +45,7 @@ enum llm_type { LLM_TYPE_700M, LLM_TYPE_770M, LLM_TYPE_780M, + LLM_TYPE_950M, LLM_TYPE_0_3B, LLM_TYPE_0_5B, LLM_TYPE_0_6B, From a7a98e0fffed794396b3fbad4dcdbbc184963645 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Wed, 17 Sep 2025 19:29:13 +0200 Subject: [PATCH 25/52] SvelteKit-based WebUI (#14839) --- .editorconfig | 8 + .github/workflows/server.yml | 229 +- .gitignore | 4 + .windsurf/rules/css-architecture.md | 7 + .windsurf/rules/sveltekit-architecture.md | 48 + .windsurf/rules/tests.md | 9 + .windsurf/rules/typescript-architecture.md | 7 + tools/server/public/index.html.gz | Bin 1914087 -> 842295 bytes tools/server/server.cpp | 36 + tools/server/tests/unit/test_basic.py | 2 +- tools/server/webui/.gitignore | 45 +- tools/server/webui/.npmrc | 1 + tools/server/webui/.prettierignore | 17 +- tools/server/webui/.prettierrc | 16 + .../.storybook/ModeWatcherDecorator.svelte | 36 + .../TooltipProviderDecorator.svelte | 13 + tools/server/webui/.storybook/main.ts | 17 + tools/server/webui/.storybook/preview.ts | 34 + tools/server/webui/.storybook/vitest.setup.ts | 11 + tools/server/webui/README.md | 66 + tools/server/webui/components.json | 16 + tools/server/webui/e2e/demo.test.ts | 6 + tools/server/webui/eslint.config.js | 73 +- tools/server/webui/index.html | 16 - tools/server/webui/package-lock.json | 15102 +++++++++------- tools/server/webui/package.json | 152 +- tools/server/webui/playwright.config.ts | 9 + tools/server/webui/postcss.config.js | 5 - .../webui/public/demo-conversation.json | 33 - .../server/webui/scripts/install-git-hooks.sh | 123 + tools/server/webui/scripts/post-build.sh | 3 + tools/server/webui/src/App.tsx | 52 - tools/server/webui/src/Config.ts | 96 - tools/server/webui/src/app.css | 123 + tools/server/webui/src/app.d.ts | 81 + tools/server/webui/src/app.html | 12 + .../src/components/CanvasPyInterpreter.tsx | 195 - .../components/ChatInputExtraContextItem.tsx | 135 - .../webui/src/components/ChatMessage.tsx | 320 - .../webui/src/components/ChatScreen.tsx | 459 - tools/server/webui/src/components/Header.tsx | 92 - .../webui/src/components/MarkdownDisplay.tsx | 317 - .../webui/src/components/ModalProvider.tsx | 151 - .../webui/src/components/SettingDialog.tsx | 553 - tools/server/webui/src/components/Sidebar.tsx | 369 - .../src/components/useChatExtraContext.tsx | 371 - .../webui/src/components/useChatScroll.tsx | 34 - .../webui/src/components/useChatTextarea.ts | 104 - tools/server/webui/src/demo.spec.ts | 7 + tools/server/webui/src/index.scss | 99 - .../ChatAttachmentFilePreview.svelte | 139 + .../ChatAttachmentImagePreview.svelte | 71 + .../ChatAttachmentPreviewDialog.svelte | 305 + .../ChatAttachmentsList.svelte | 185 + .../app/chat/ChatForm/ChatForm.svelte | 259 + .../ChatFormActionFileAttachments.svelte | 121 + .../chat/ChatForm/ChatFormActionRecord.svelte | 49 + .../app/chat/ChatForm/ChatFormActions.svelte | 57 + .../ChatFormFileInputInvisible.svelte | 42 + .../chat/ChatForm/ChatFormHelperText.svelte | 17 + .../app/chat/ChatForm/ChatFormTextarea.svelte | 59 + .../app/chat/ChatMessages/ChatMessage.svelte | 186 + .../ChatMessages/ChatMessageActions.svelte | 102 + .../ChatMessages/ChatMessageAssistant.svelte | 188 + .../ChatMessageBranchingControls.svelte | 84 + .../ChatMessageThinkingBlock.svelte | 67 + .../chat/ChatMessages/ChatMessageUser.svelte | 122 + .../app/chat/ChatMessages/ChatMessages.svelte | 116 + .../app/chat/ChatProcessingInfo.svelte | 132 + .../app/chat/ChatScreen/ChatScreen.svelte | 467 + .../ChatScreen/ChatScreenDragOverlay.svelte | 17 + .../chat/ChatScreen/ChatScreenHeader.svelte | 23 + .../ChatSettings/ChatSettingsDialog.svelte | 472 + .../ChatSettings/ChatSettingsFooter.svelte | 33 + .../ChatSettings/ChatSettingsSection.svelte | 23 + .../app/chat/ChatSidebar/ChatSidebar.svelte | 124 + .../ChatSidebar/ChatSidebarActions.svelte | 81 + .../ChatSidebarConversationItem.svelte | 182 + .../chat/ChatSidebar/ChatSidebarSearch.svelte | 33 + .../handle-mobile-sidebar-item-click.ts | 9 + .../app/dialogs/ConfirmationDialog.svelte | 72 + .../ConversationTitleUpdateDialog.svelte | 46 + .../app/dialogs/EmptyFileAlertDialog.svelte | 61 + .../dialogs/MaximumContextAlertDialog.svelte | 66 + .../webui/src/lib/components/app/index.ts | 50 + .../components/app/misc/ActionButton.svelte | 48 + .../components/app/misc/ActionDropdown.svelte | 86 + .../app/misc/KeyboardShortcutInfo.svelte | 31 + .../app/misc/MarkdownContent.svelte | 625 + .../app/server/ServerErrorSplash.svelte | 281 + .../components/app/server/ServerInfo.svelte | 43 + .../app/server/ServerLoadingSplash.svelte | 33 + .../components/app/server/ServerStatus.svelte | 64 + .../alert-dialog/alert-dialog-action.svelte | 18 + .../alert-dialog/alert-dialog-cancel.svelte | 18 + .../alert-dialog/alert-dialog-content.svelte | 27 + .../alert-dialog-description.svelte | 17 + .../alert-dialog/alert-dialog-footer.svelte | 20 + .../alert-dialog/alert-dialog-header.svelte | 20 + .../alert-dialog/alert-dialog-overlay.svelte | 20 + .../ui/alert-dialog/alert-dialog-title.svelte | 17 + .../alert-dialog/alert-dialog-trigger.svelte | 7 + .../lib/components/ui/alert-dialog/index.ts | 39 + .../src/lib/components/ui/badge/badge.svelte | 49 + .../src/lib/components/ui/badge/index.ts | 2 + .../lib/components/ui/button/button.svelte | 87 + .../src/lib/components/ui/button/index.ts | 17 + .../lib/components/ui/card/card-action.svelte | 20 + .../components/ui/card/card-content.svelte | 15 + .../ui/card/card-description.svelte | 20 + .../lib/components/ui/card/card-footer.svelte | 20 + .../lib/components/ui/card/card-header.svelte | 23 + .../lib/components/ui/card/card-title.svelte | 20 + .../src/lib/components/ui/card/card.svelte | 23 + .../webui/src/lib/components/ui/card/index.ts | 25 + .../components/ui/checkbox/checkbox.svelte | 36 + .../src/lib/components/ui/checkbox/index.ts | 6 + .../ui/collapsible/collapsible-content.svelte | 7 + .../ui/collapsible/collapsible-trigger.svelte | 7 + .../ui/collapsible/collapsible.svelte | 11 + .../lib/components/ui/collapsible/index.ts | 13 + .../components/ui/dialog/dialog-close.svelte | 7 + .../ui/dialog/dialog-content.svelte | 43 + .../ui/dialog/dialog-description.svelte | 17 + .../components/ui/dialog/dialog-footer.svelte | 20 + .../components/ui/dialog/dialog-header.svelte | 20 + .../ui/dialog/dialog-overlay.svelte | 20 + .../components/ui/dialog/dialog-title.svelte | 17 + .../ui/dialog/dialog-trigger.svelte | 7 + .../src/lib/components/ui/dialog/index.ts | 37 + .../dropdown-menu-checkbox-item.svelte | 41 + .../dropdown-menu-content.svelte | 27 + .../dropdown-menu-group-heading.svelte | 22 + .../dropdown-menu/dropdown-menu-group.svelte | 7 + .../dropdown-menu/dropdown-menu-item.svelte | 27 + .../dropdown-menu/dropdown-menu-label.svelte | 24 + .../dropdown-menu-radio-group.svelte | 16 + .../dropdown-menu-radio-item.svelte | 31 + .../dropdown-menu-separator.svelte | 17 + .../dropdown-menu-shortcut.svelte | 20 + .../dropdown-menu-sub-content.svelte | 20 + .../dropdown-menu-sub-trigger.svelte | 29 + .../dropdown-menu-trigger.svelte | 7 + .../lib/components/ui/dropdown-menu/index.ts | 49 + .../src/lib/components/ui/input/index.ts | 7 + .../src/lib/components/ui/input/input.svelte | 51 + .../src/lib/components/ui/label/index.ts | 7 + .../src/lib/components/ui/label/label.svelte | 20 + .../lib/components/ui/scroll-area/index.ts | 10 + .../scroll-area/scroll-area-scrollbar.svelte | 31 + .../ui/scroll-area/scroll-area.svelte | 40 + .../src/lib/components/ui/select/index.ts | 37 + .../ui/select/select-content.svelte | 40 + .../ui/select/select-group-heading.svelte | 21 + .../components/ui/select/select-group.svelte | 7 + .../components/ui/select/select-item.svelte | 38 + .../components/ui/select/select-label.svelte | 20 + .../select/select-scroll-down-button.svelte | 20 + .../ui/select/select-scroll-up-button.svelte | 20 + .../ui/select/select-separator.svelte | 18 + .../ui/select/select-trigger.svelte | 29 + .../src/lib/components/ui/separator/index.ts | 7 + .../components/ui/separator/separator.svelte | 20 + .../src/lib/components/ui/sheet/index.ts | 36 + .../components/ui/sheet/sheet-close.svelte | 7 + .../components/ui/sheet/sheet-content.svelte | 60 + .../ui/sheet/sheet-description.svelte | 17 + .../components/ui/sheet/sheet-footer.svelte | 20 + .../components/ui/sheet/sheet-header.svelte | 20 + .../components/ui/sheet/sheet-overlay.svelte | 20 + .../components/ui/sheet/sheet-title.svelte | 17 + .../components/ui/sheet/sheet-trigger.svelte | 7 + .../lib/components/ui/sidebar/constants.ts | 6 + .../components/ui/sidebar/context.svelte.ts | 79 + .../src/lib/components/ui/sidebar/index.ts | 75 + .../ui/sidebar/sidebar-content.svelte | 24 + .../ui/sidebar/sidebar-footer.svelte | 21 + .../ui/sidebar/sidebar-group-action.svelte | 36 + .../ui/sidebar/sidebar-group-content.svelte | 21 + .../ui/sidebar/sidebar-group-label.svelte | 34 + .../ui/sidebar/sidebar-group.svelte | 21 + .../ui/sidebar/sidebar-header.svelte | 21 + .../ui/sidebar/sidebar-input.svelte | 21 + .../ui/sidebar/sidebar-inset.svelte | 24 + .../ui/sidebar/sidebar-menu-action.svelte | 43 + .../ui/sidebar/sidebar-menu-badge.svelte | 29 + .../ui/sidebar/sidebar-menu-button.svelte | 106 + .../ui/sidebar/sidebar-menu-item.svelte | 21 + .../ui/sidebar/sidebar-menu-skeleton.svelte | 36 + .../ui/sidebar/sidebar-menu-sub-button.svelte | 43 + .../ui/sidebar/sidebar-menu-sub-item.svelte | 21 + .../ui/sidebar/sidebar-menu-sub.svelte | 25 + .../components/ui/sidebar/sidebar-menu.svelte | 21 + .../ui/sidebar/sidebar-provider.svelte | 53 + .../components/ui/sidebar/sidebar-rail.svelte | 36 + .../ui/sidebar/sidebar-separator.svelte | 19 + .../ui/sidebar/sidebar-trigger.svelte | 35 + .../lib/components/ui/sidebar/sidebar.svelte | 101 + .../src/lib/components/ui/skeleton/index.ts | 7 + .../components/ui/skeleton/skeleton.svelte | 17 + .../src/lib/components/ui/textarea/index.ts | 7 + .../components/ui/textarea/textarea.svelte | 22 + .../src/lib/components/ui/tooltip/index.ts | 21 + .../ui/tooltip/tooltip-content.svelte | 47 + .../ui/tooltip/tooltip-trigger.svelte | 7 + .../webui/src/lib/components/ui/utils.ts | 13 + .../webui/src/lib/constants/auto-scroll.ts | 3 + .../webui/src/lib/constants/debounce.ts | 1 + .../webui/src/lib/constants/input-classes.ts | 6 + .../src/lib/constants/max-bundle-size.ts | 1 + .../src/lib/constants/processing-info.ts | 1 + .../src/lib/constants/settings-config.ts | 84 + .../src/lib/constants/supported-file-types.ts | 180 + .../webui/src/lib/constants/tooltip-config.ts | 1 + .../webui/src/lib/constants/viewport.ts | 1 + tools/server/webui/src/lib/enums/files.ts | 178 + .../webui/src/lib/hooks/is-mobile.svelte.ts | 8 + .../lib/hooks/use-processing-state.svelte.ts | 173 + tools/server/webui/src/lib/services/chat.ts | 715 + .../server/webui/src/lib/services/context.ts | 102 + tools/server/webui/src/lib/services/index.ts | 3 + tools/server/webui/src/lib/services/slots.ts | 254 + .../webui/src/lib/stores/chat.svelte.ts | 1394 ++ tools/server/webui/src/lib/stores/database.ts | 349 + .../webui/src/lib/stores/server.svelte.ts | 184 + .../webui/src/lib/stores/settings.svelte.ts | 206 + tools/server/webui/src/lib/types/api.d.ts | 252 + tools/server/webui/src/lib/types/chat.d.ts | 34 + .../server/webui/src/lib/types/database.d.ts | 55 + .../server/webui/src/lib/types/settings.d.ts | 50 + .../webui/src/lib/utils/api-key-validation.ts | 45 + .../webui/src/lib/utils/audio-recording.ts | 226 + .../src/lib/utils/autoresize-textarea.ts | 10 + tools/server/webui/src/lib/utils/branching.ts | 283 + .../src/lib/utils/convert-files-to-extra.ts | 188 + tools/server/webui/src/lib/utils/copy.ts | 71 + .../webui/src/lib/utils/file-preview.ts | 32 + tools/server/webui/src/lib/utils/file-type.ts | 81 + .../src/lib/utils/modality-file-validation.ts | 184 + .../webui/src/lib/utils/pdf-processing.ts | 150 + .../src/lib/utils/process-uploaded-files.ts | 130 + .../server/webui/src/lib/utils/svg-to-png.ts | 71 + .../server/webui/src/lib/utils/text-files.ts | 83 + tools/server/webui/src/lib/utils/thinking.ts | 90 + .../server/webui/src/lib/utils/webp-to-png.ts | 73 + tools/server/webui/src/main.tsx | 10 - tools/server/webui/src/routes/+error.svelte | 70 + tools/server/webui/src/routes/+layout.svelte | 176 + tools/server/webui/src/routes/+layout.ts | 3 + tools/server/webui/src/routes/+page.svelte | 19 + tools/server/webui/src/routes/+page.ts | 6 + .../webui/src/routes/chat/[id]/+page.svelte | 81 + .../webui/src/routes/chat/[id]/+page.ts | 6 + .../webui/src/routes/page.svelte.test.ts | 11 + .../webui/src/stories/ChatForm.stories.svelte | 182 + .../src/stories/ChatMessage.stories.svelte | 146 + .../stories/ChatSettingsDialog.stories.svelte | 26 + .../src/stories/ChatSidebar.stories.svelte | 97 + .../server/webui/src/stories/Introduction.mdx | 44 + .../stories/MarkdownContent.stories.svelte | 131 + .../webui/src/stories/fixtures/ai-tutorial.ts | 164 + .../webui/src/stories/fixtures/api-docs.ts | 160 + .../webui/src/stories/fixtures/assets/1.jpg | Bin 0 -> 44891 bytes .../assets/beautiful-flowers-lotus.webp | Bin 0 -> 817630 bytes .../src/stories/fixtures/assets/example.pdf | Bin 0 -> 351048 bytes .../src/stories/fixtures/assets/hf-logo.svg | 8 + .../webui/src/stories/fixtures/blog-post.ts | 125 + .../src/stories/fixtures/data-analysis.ts | 124 + .../webui/src/stories/fixtures/empty.ts | 2 + .../src/stories/fixtures/math-formulas.ts | 156 + .../webui/src/stories/fixtures/readme.ts | 136 + .../src/stories/fixtures/storybook-mocks.ts | 50 + tools/server/webui/src/utils/app.context.tsx | 412 - tools/server/webui/src/utils/common.tsx | 74 - tools/server/webui/src/utils/llama-vscode.ts | 62 - tools/server/webui/src/utils/misc.ts | 200 - tools/server/webui/src/utils/storage.ts | 294 - tools/server/webui/src/utils/types.ts | 138 - tools/server/webui/src/vite-env.d.ts | 1 - tools/server/webui/static/favicon.svg | 1 + tools/server/webui/static/loading.html | 12 + tools/server/webui/svelte.config.js | 25 + tools/server/webui/tailwind.config.js | 16 - tools/server/webui/tsconfig.app.json | 26 - tools/server/webui/tsconfig.json | 22 +- tools/server/webui/tsconfig.node.json | 24 - tools/server/webui/vite.config.ts | 183 +- tools/server/webui/vitest-setup-client.ts | 2 + 288 files changed, 25749 insertions(+), 11502 deletions(-) create mode 100644 .windsurf/rules/css-architecture.md create mode 100644 .windsurf/rules/sveltekit-architecture.md create mode 100644 .windsurf/rules/tests.md create mode 100644 .windsurf/rules/typescript-architecture.md create mode 100644 tools/server/webui/.npmrc create mode 100644 tools/server/webui/.prettierrc create mode 100644 tools/server/webui/.storybook/ModeWatcherDecorator.svelte create mode 100644 tools/server/webui/.storybook/TooltipProviderDecorator.svelte create mode 100644 tools/server/webui/.storybook/main.ts create mode 100644 tools/server/webui/.storybook/preview.ts create mode 100644 tools/server/webui/.storybook/vitest.setup.ts create mode 100644 tools/server/webui/README.md create mode 100644 tools/server/webui/components.json create mode 100644 tools/server/webui/e2e/demo.test.ts delete mode 100644 tools/server/webui/index.html create mode 100644 tools/server/webui/playwright.config.ts delete mode 100644 tools/server/webui/postcss.config.js delete mode 100644 tools/server/webui/public/demo-conversation.json create mode 100755 tools/server/webui/scripts/install-git-hooks.sh create mode 100755 tools/server/webui/scripts/post-build.sh delete mode 100644 tools/server/webui/src/App.tsx delete mode 100644 tools/server/webui/src/Config.ts create mode 100644 tools/server/webui/src/app.css create mode 100644 tools/server/webui/src/app.d.ts create mode 100644 tools/server/webui/src/app.html delete mode 100644 tools/server/webui/src/components/CanvasPyInterpreter.tsx delete mode 100644 tools/server/webui/src/components/ChatInputExtraContextItem.tsx delete mode 100644 tools/server/webui/src/components/ChatMessage.tsx delete mode 100644 tools/server/webui/src/components/ChatScreen.tsx delete mode 100644 tools/server/webui/src/components/Header.tsx delete mode 100644 tools/server/webui/src/components/MarkdownDisplay.tsx delete mode 100644 tools/server/webui/src/components/ModalProvider.tsx delete mode 100644 tools/server/webui/src/components/SettingDialog.tsx delete mode 100644 tools/server/webui/src/components/Sidebar.tsx delete mode 100644 tools/server/webui/src/components/useChatExtraContext.tsx delete mode 100644 tools/server/webui/src/components/useChatScroll.tsx delete mode 100644 tools/server/webui/src/components/useChatTextarea.ts create mode 100644 tools/server/webui/src/demo.spec.ts delete mode 100644 tools/server/webui/src/index.scss create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentFilePreview.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentImagePreview.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentPreviewDialog.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatAttachments/ChatAttachmentsList.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActionFileAttachments.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActionRecord.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormFileInputInvisible.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormHelperText.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormTextarea.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessage.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageActions.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageAssistant.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageBranchingControls.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageThinkingBlock.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageUser.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessages.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatProcessingInfo.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenDragOverlay.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreenHeader.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsDialog.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsFooter.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsSection.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebar.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarActions.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarConversationItem.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatSidebar/ChatSidebarSearch.svelte create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatSidebar/handle-mobile-sidebar-item-click.ts create mode 100644 tools/server/webui/src/lib/components/app/dialogs/ConfirmationDialog.svelte create mode 100644 tools/server/webui/src/lib/components/app/dialogs/ConversationTitleUpdateDialog.svelte create mode 100644 tools/server/webui/src/lib/components/app/dialogs/EmptyFileAlertDialog.svelte create mode 100644 tools/server/webui/src/lib/components/app/dialogs/MaximumContextAlertDialog.svelte create mode 100644 tools/server/webui/src/lib/components/app/index.ts create mode 100644 tools/server/webui/src/lib/components/app/misc/ActionButton.svelte create mode 100644 tools/server/webui/src/lib/components/app/misc/ActionDropdown.svelte create mode 100644 tools/server/webui/src/lib/components/app/misc/KeyboardShortcutInfo.svelte create mode 100644 tools/server/webui/src/lib/components/app/misc/MarkdownContent.svelte create mode 100644 tools/server/webui/src/lib/components/app/server/ServerErrorSplash.svelte create mode 100644 tools/server/webui/src/lib/components/app/server/ServerInfo.svelte create mode 100644 tools/server/webui/src/lib/components/app/server/ServerLoadingSplash.svelte create mode 100644 tools/server/webui/src/lib/components/app/server/ServerStatus.svelte create mode 100644 tools/server/webui/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte create mode 100644 tools/server/webui/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte create mode 100644 tools/server/webui/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte create mode 100644 tools/server/webui/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte create mode 100644 tools/server/webui/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte create mode 100644 tools/server/webui/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte create mode 100644 tools/server/webui/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte create mode 100644 tools/server/webui/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte create mode 100644 tools/server/webui/src/lib/components/ui/alert-dialog/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/badge/badge.svelte create mode 100644 tools/server/webui/src/lib/components/ui/badge/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/button/button.svelte create mode 100644 tools/server/webui/src/lib/components/ui/button/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/card/card-action.svelte create mode 100644 tools/server/webui/src/lib/components/ui/card/card-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/card/card-description.svelte create mode 100644 tools/server/webui/src/lib/components/ui/card/card-footer.svelte create mode 100644 tools/server/webui/src/lib/components/ui/card/card-header.svelte create mode 100644 tools/server/webui/src/lib/components/ui/card/card-title.svelte create mode 100644 tools/server/webui/src/lib/components/ui/card/card.svelte create mode 100644 tools/server/webui/src/lib/components/ui/card/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/checkbox/checkbox.svelte create mode 100644 tools/server/webui/src/lib/components/ui/checkbox/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/collapsible/collapsible-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/collapsible/collapsible-trigger.svelte create mode 100644 tools/server/webui/src/lib/components/ui/collapsible/collapsible.svelte create mode 100644 tools/server/webui/src/lib/components/ui/collapsible/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/dialog/dialog-close.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dialog/dialog-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dialog/dialog-description.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dialog/dialog-footer.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dialog/dialog-header.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dialog/dialog-overlay.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dialog/dialog-title.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dialog/dialog-trigger.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dialog/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte create mode 100644 tools/server/webui/src/lib/components/ui/dropdown-menu/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/input/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/input/input.svelte create mode 100644 tools/server/webui/src/lib/components/ui/label/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/label/label.svelte create mode 100644 tools/server/webui/src/lib/components/ui/scroll-area/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte create mode 100644 tools/server/webui/src/lib/components/ui/scroll-area/scroll-area.svelte create mode 100644 tools/server/webui/src/lib/components/ui/select/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/select/select-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/select/select-group-heading.svelte create mode 100644 tools/server/webui/src/lib/components/ui/select/select-group.svelte create mode 100644 tools/server/webui/src/lib/components/ui/select/select-item.svelte create mode 100644 tools/server/webui/src/lib/components/ui/select/select-label.svelte create mode 100644 tools/server/webui/src/lib/components/ui/select/select-scroll-down-button.svelte create mode 100644 tools/server/webui/src/lib/components/ui/select/select-scroll-up-button.svelte create mode 100644 tools/server/webui/src/lib/components/ui/select/select-separator.svelte create mode 100644 tools/server/webui/src/lib/components/ui/select/select-trigger.svelte create mode 100644 tools/server/webui/src/lib/components/ui/separator/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/separator/separator.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sheet/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/sheet/sheet-close.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sheet/sheet-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sheet/sheet-description.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sheet/sheet-footer.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sheet/sheet-header.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sheet/sheet-overlay.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sheet/sheet-title.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sheet/sheet-trigger.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/constants.ts create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/context.svelte.ts create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-footer.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-group-action.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-group-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-group-label.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-group.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-header.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-input.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-inset.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-menu-action.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-menu-badge.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-menu-button.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-menu-item.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-menu-skeleton.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-menu-sub-button.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-menu-sub-item.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-menu-sub.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-menu.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-provider.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-rail.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-separator.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar-trigger.svelte create mode 100644 tools/server/webui/src/lib/components/ui/sidebar/sidebar.svelte create mode 100644 tools/server/webui/src/lib/components/ui/skeleton/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/skeleton/skeleton.svelte create mode 100644 tools/server/webui/src/lib/components/ui/textarea/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/textarea/textarea.svelte create mode 100644 tools/server/webui/src/lib/components/ui/tooltip/index.ts create mode 100644 tools/server/webui/src/lib/components/ui/tooltip/tooltip-content.svelte create mode 100644 tools/server/webui/src/lib/components/ui/tooltip/tooltip-trigger.svelte create mode 100644 tools/server/webui/src/lib/components/ui/utils.ts create mode 100644 tools/server/webui/src/lib/constants/auto-scroll.ts create mode 100644 tools/server/webui/src/lib/constants/debounce.ts create mode 100644 tools/server/webui/src/lib/constants/input-classes.ts create mode 100644 tools/server/webui/src/lib/constants/max-bundle-size.ts create mode 100644 tools/server/webui/src/lib/constants/processing-info.ts create mode 100644 tools/server/webui/src/lib/constants/settings-config.ts create mode 100644 tools/server/webui/src/lib/constants/supported-file-types.ts create mode 100644 tools/server/webui/src/lib/constants/tooltip-config.ts create mode 100644 tools/server/webui/src/lib/constants/viewport.ts create mode 100644 tools/server/webui/src/lib/enums/files.ts create mode 100644 tools/server/webui/src/lib/hooks/is-mobile.svelte.ts create mode 100644 tools/server/webui/src/lib/hooks/use-processing-state.svelte.ts create mode 100644 tools/server/webui/src/lib/services/chat.ts create mode 100644 tools/server/webui/src/lib/services/context.ts create mode 100644 tools/server/webui/src/lib/services/index.ts create mode 100644 tools/server/webui/src/lib/services/slots.ts create mode 100644 tools/server/webui/src/lib/stores/chat.svelte.ts create mode 100644 tools/server/webui/src/lib/stores/database.ts create mode 100644 tools/server/webui/src/lib/stores/server.svelte.ts create mode 100644 tools/server/webui/src/lib/stores/settings.svelte.ts create mode 100644 tools/server/webui/src/lib/types/api.d.ts create mode 100644 tools/server/webui/src/lib/types/chat.d.ts create mode 100644 tools/server/webui/src/lib/types/database.d.ts create mode 100644 tools/server/webui/src/lib/types/settings.d.ts create mode 100644 tools/server/webui/src/lib/utils/api-key-validation.ts create mode 100644 tools/server/webui/src/lib/utils/audio-recording.ts create mode 100644 tools/server/webui/src/lib/utils/autoresize-textarea.ts create mode 100644 tools/server/webui/src/lib/utils/branching.ts create mode 100644 tools/server/webui/src/lib/utils/convert-files-to-extra.ts create mode 100644 tools/server/webui/src/lib/utils/copy.ts create mode 100644 tools/server/webui/src/lib/utils/file-preview.ts create mode 100644 tools/server/webui/src/lib/utils/file-type.ts create mode 100644 tools/server/webui/src/lib/utils/modality-file-validation.ts create mode 100644 tools/server/webui/src/lib/utils/pdf-processing.ts create mode 100644 tools/server/webui/src/lib/utils/process-uploaded-files.ts create mode 100644 tools/server/webui/src/lib/utils/svg-to-png.ts create mode 100644 tools/server/webui/src/lib/utils/text-files.ts create mode 100644 tools/server/webui/src/lib/utils/thinking.ts create mode 100644 tools/server/webui/src/lib/utils/webp-to-png.ts delete mode 100644 tools/server/webui/src/main.tsx create mode 100644 tools/server/webui/src/routes/+error.svelte create mode 100644 tools/server/webui/src/routes/+layout.svelte create mode 100644 tools/server/webui/src/routes/+layout.ts create mode 100644 tools/server/webui/src/routes/+page.svelte create mode 100644 tools/server/webui/src/routes/+page.ts create mode 100644 tools/server/webui/src/routes/chat/[id]/+page.svelte create mode 100644 tools/server/webui/src/routes/chat/[id]/+page.ts create mode 100644 tools/server/webui/src/routes/page.svelte.test.ts create mode 100644 tools/server/webui/src/stories/ChatForm.stories.svelte create mode 100644 tools/server/webui/src/stories/ChatMessage.stories.svelte create mode 100644 tools/server/webui/src/stories/ChatSettingsDialog.stories.svelte create mode 100644 tools/server/webui/src/stories/ChatSidebar.stories.svelte create mode 100644 tools/server/webui/src/stories/Introduction.mdx create mode 100644 tools/server/webui/src/stories/MarkdownContent.stories.svelte create mode 100644 tools/server/webui/src/stories/fixtures/ai-tutorial.ts create mode 100644 tools/server/webui/src/stories/fixtures/api-docs.ts create mode 100644 tools/server/webui/src/stories/fixtures/assets/1.jpg create mode 100644 tools/server/webui/src/stories/fixtures/assets/beautiful-flowers-lotus.webp create mode 100644 tools/server/webui/src/stories/fixtures/assets/example.pdf create mode 100644 tools/server/webui/src/stories/fixtures/assets/hf-logo.svg create mode 100644 tools/server/webui/src/stories/fixtures/blog-post.ts create mode 100644 tools/server/webui/src/stories/fixtures/data-analysis.ts create mode 100644 tools/server/webui/src/stories/fixtures/empty.ts create mode 100644 tools/server/webui/src/stories/fixtures/math-formulas.ts create mode 100644 tools/server/webui/src/stories/fixtures/readme.ts create mode 100644 tools/server/webui/src/stories/fixtures/storybook-mocks.ts delete mode 100644 tools/server/webui/src/utils/app.context.tsx delete mode 100644 tools/server/webui/src/utils/common.tsx delete mode 100644 tools/server/webui/src/utils/llama-vscode.ts delete mode 100644 tools/server/webui/src/utils/misc.ts delete mode 100644 tools/server/webui/src/utils/storage.ts delete mode 100644 tools/server/webui/src/utils/types.ts delete mode 100644 tools/server/webui/src/vite-env.d.ts create mode 100644 tools/server/webui/static/favicon.svg create mode 100644 tools/server/webui/static/loading.html create mode 100644 tools/server/webui/svelte.config.js delete mode 100644 tools/server/webui/tailwind.config.js delete mode 100644 tools/server/webui/tsconfig.app.json delete mode 100644 tools/server/webui/tsconfig.node.json create mode 100644 tools/server/webui/vitest-setup-client.ts diff --git a/.editorconfig b/.editorconfig index c90b171f55..0722ac73c8 100644 --- a/.editorconfig +++ b/.editorconfig @@ -52,3 +52,11 @@ insert_final_newline = unset [vendor/miniaudio/miniaudio.h] trim_trailing_whitespace = unset insert_final_newline = unset + +[tools/server/webui/**] +indent_style = unset +indent_size = unset +end_of_line = unset +charset = unset +trim_trailing_whitespace = unset +insert_final_newline = unset diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml index f6da488576..1ea1300c2e 100644 --- a/.github/workflows/server.yml +++ b/.github/workflows/server.yml @@ -76,51 +76,206 @@ jobs: run: | pip install -r tools/server/tests/requirements.txt - # Setup nodejs (to be used for verifying bundled index.html) - - uses: actions/setup-node@v4 + webui-setup: + name: WebUI Setup + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 with: - node-version: '22.11.0' + fetch-depth: 0 + ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} - - name: WebUI - Install dependencies - id: webui_lint + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + cache: "npm" + cache-dependency-path: "tools/server/webui/package-lock.json" + + - name: Cache node_modules + uses: actions/cache@v4 + id: cache-node-modules + with: + path: tools/server/webui/node_modules + key: ${{ runner.os }}-node-modules-${{ hashFiles('tools/server/webui/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node-modules- + + - name: Install dependencies + if: steps.cache-node-modules.outputs.cache-hit != 'true' + run: npm ci + working-directory: tools/server/webui + + webui-check: + needs: webui-setup + name: WebUI Check + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + + - name: Restore node_modules cache + uses: actions/cache@v4 + with: + path: tools/server/webui/node_modules + key: ${{ runner.os }}-node-modules-${{ hashFiles('tools/server/webui/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node-modules- + + - name: Run type checking + run: npm run check + working-directory: tools/server/webui + + - name: Run linting + run: npm run lint + working-directory: tools/server/webui + + webui-build: + needs: webui-check + name: WebUI Build + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + + - name: Restore node_modules cache + uses: actions/cache@v4 + with: + path: tools/server/webui/node_modules + key: ${{ runner.os }}-node-modules-${{ hashFiles('tools/server/webui/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node-modules- + + - name: Build application + run: npm run build + working-directory: tools/server/webui + + webui-tests: + needs: webui-build + name: Run WebUI tests + permissions: + contents: read + + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "22" + + - name: Restore node_modules cache + uses: actions/cache@v4 + with: + path: tools/server/webui/node_modules + key: ${{ runner.os }}-node-modules-${{ hashFiles('tools/server/webui/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node-modules- + + - name: Install Playwright browsers + run: npx playwright install --with-deps + working-directory: tools/server/webui + + - name: Build Storybook + run: npm run build-storybook + working-directory: tools/server/webui + + - name: Run Client tests + run: npm run test:client + working-directory: tools/server/webui + + - name: Run Server tests + run: npm run test:server + working-directory: tools/server/webui + + - name: Run UI tests + run: npm run test:ui + working-directory: tools/server/webui + + - name: Run E2E tests + run: npm run test:e2e + working-directory: tools/server/webui + + server-build: + needs: [webui-tests] + runs-on: ubuntu-latest + + strategy: + matrix: + sanitizer: [ADDRESS, UNDEFINED] # THREAD is broken + build_type: [RelWithDebInfo] + include: + - build_type: Release + sanitizer: "" + fail-fast: false # While -DLLAMA_SANITIZE_THREAD=ON is broken + + steps: + - name: Dependencies + id: depends run: | - cd tools/server/webui - npm ci + sudo apt-get update + sudo apt-get -y install \ + build-essential \ + xxd \ + git \ + cmake \ + curl \ + wget \ + language-pack-en \ + libcurl4-openssl-dev - - name: WebUI - Check code format - id: webui_format + - name: Clone + id: checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} + + - name: Python setup + id: setup_python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Tests dependencies + id: test_dependencies run: | - git config --global --add safe.directory $(realpath .) - cd tools/server/webui - git status + pip install -r tools/server/tests/requirements.txt - npm run format - git status - modified_files="$(git status -s)" - echo "Modified files: ${modified_files}" - if [ -n "${modified_files}" ]; then - echo "Files do not follow coding style. To fix: npm run format" - echo "${modified_files}" - exit 1 - fi + - name: Setup Node.js for WebUI + uses: actions/setup-node@v4 + with: + node-version: "22" + cache: "npm" + cache-dependency-path: "tools/server/webui/package-lock.json" - - name: Verify bundled index.html - id: verify_server_index_html - run: | - git config --global --add safe.directory $(realpath .) - cd tools/server/webui - git status + - name: Install WebUI dependencies + run: npm ci + working-directory: tools/server/webui - npm run build - git status - modified_files="$(git status -s)" - echo "Modified files: ${modified_files}" - if [ -n "${modified_files}" ]; then - echo "Repository is dirty or server/webui is not built as expected" - echo "Hint: You may need to follow Web UI build guide in server/README.md" - echo "${modified_files}" - exit 1 - fi + - name: Build WebUI + run: npm run build + working-directory: tools/server/webui - name: Build (no OpenMP) id: cmake_build_no_openmp diff --git a/.gitignore b/.gitignore index 595831accb..e1ecdb7a81 100644 --- a/.gitignore +++ b/.gitignore @@ -148,3 +148,7 @@ poetry.toml /run-vim.sh /run-chat.sh .ccache/ + +# Code Workspace +*.code-workspace + diff --git a/.windsurf/rules/css-architecture.md b/.windsurf/rules/css-architecture.md new file mode 100644 index 0000000000..10a183585c --- /dev/null +++ b/.windsurf/rules/css-architecture.md @@ -0,0 +1,7 @@ +--- +trigger: manual +--- + +#### Tailwind & CSS + +- We are using Tailwind v4 which uses oklch colors so we now want to refer to the CSS vars directly, without wrapping it with any color function like `hsla/hsl`, `rgba` etc. diff --git a/.windsurf/rules/sveltekit-architecture.md b/.windsurf/rules/sveltekit-architecture.md new file mode 100644 index 0000000000..c2c0aa07ce --- /dev/null +++ b/.windsurf/rules/sveltekit-architecture.md @@ -0,0 +1,48 @@ +--- +trigger: manual +--- + +# Coding rules + +## Svelte & SvelteKit + +### Services vs Stores Separation Pattern + +#### `lib/services/` - Pure Business Logic + +- **Purpose**: Stateless business logic and external communication +- **Contains**: + - API calls to external services (ApiService) + - Pure business logic functions (ChatService, etc.) +- **Rules**: + - NO Svelte runes ($state, $derived, $effect) + - NO reactive state management + - Pure functions and classes only + - Can import types but not stores + - Focus on "how" - implementation details + +#### `lib/stores/` - Reactive State Management + +- **Purpose**: Svelte-specific reactive state with runes +- **Contains**: + - Reactive state classes with $state, $derived, $effect + - Database operations (DatabaseStore) + - UI-focused state management + - Store orchestration logic +- **Rules**: + - USE Svelte runes for reactivity + - Import and use services for business logic + - NO direct database operations + - NO direct API calls (use services) + - Focus on "what" - reactive state for UI + +#### Enforcement + +- Services should be testable without Svelte +- Stores should leverage Svelte's reactivity system +- Clear separation: services handle data, stores handle state +- Services can be reused across multiple stores + +#### Misc + +- Always use `let` for $derived state variables diff --git a/.windsurf/rules/tests.md b/.windsurf/rules/tests.md new file mode 100644 index 0000000000..e388fa9544 --- /dev/null +++ b/.windsurf/rules/tests.md @@ -0,0 +1,9 @@ +--- +trigger: manual +--- + +# Automated Tests + +## General rules + +- NEVER include any test code in the production code - we should always have it in a separate dedicated files diff --git a/.windsurf/rules/typescript-architecture.md b/.windsurf/rules/typescript-architecture.md new file mode 100644 index 0000000000..a61ff6b98f --- /dev/null +++ b/.windsurf/rules/typescript-architecture.md @@ -0,0 +1,7 @@ +--- +trigger: manual +--- + +## TypeScript + +- Add JSDocs for functions diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index 0e3e1f9834a7f22c5c3bc4445914f20cc1c6579d..909fa1cceb81d4030c5a11b475304ba206a8d95b 100644 GIT binary patch literal 842295 zcmV($K;yq3iwFP!000020PKBxcN;g7@83J0g5x>4YdIv%ryle;XB5kEG!x3>SRO}? za&lT^i)@LnWs{ajUER-qe^q!i(2ahOl4p|Hne19@pin3j3WWktDE#@4mC7GVrPE;$ zmhgXGDGVlqkzcwD@Xy6E81+lj%hFgOUyj)Dj-XiFEqtU7~@F)J< zTloFb#fl4v(zE%r=Z7JcI+~Uy(?!Ye2MYiI0awxw=6-K6S`ozQv^4gv{Zen}O$L5g zF3tT*e_mQl8R3(U{zd7-@sm=B0>N}r3MQQX(66<;Zard&|kcKvRqtN_MeoVbJi%BT%+>Q z%O^o^I(bqWf{>R_`rg9p1Y>XDKMy|-zP=rgUR-#gzuPMR{ri)~r`5Mj@8gd(@2D1Z zuRb)6gKt|GA8(hvbuI9||FPCPntuMF*>Cn&?Phn?{@fe)K6kGUZ@RAz*8OoWIDRu6 zc^~`JepG(;3BP-dlhvn>|5)}K!_WO!_0gxR>)NOBUxV(e`t{lPyWoe@!Of?S?-p;5 z4sT9^TI=oUyVcv%>znSIe<1%XIR5_A?9)&ER~OB}!SU7Mp!@1@b#i((uxXsNF5Zlm zUKXvV*X_6O4+Pxmc<^aF3NJw4#rR

HYDbKmNz6*BE`ixB~s}Tertot$pxBwqZEz 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

0T$a83yVx&p>eU7b3i?E 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

@!Qm$7gQV}>orA--uN=f)Yh3>!4$YXo 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�plXH-A9pdlB3 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

TP@}e7{j#}n2|Ni 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

mDo2PE%`7g`xO`i%y_-Sa$rO00ZwSE?1s?-XPo zSSIF4t(R%ec-n7SczgJDi}1CcsxSjWVug;~AFn(J4Q7edPZOx@0f9t=hA|83yc)eZTE86CCFL!sF4h?aG+$86COiJJ0Yl0BBL zB4Jtc!0k;|vbS1C2N3!!MToibhG)+i*2Q72{4!uG7M9;?RZ?v*$bhYAJ~=8I$xG5Z z+KR0~UjM*|hmy>u z$f_scrKseJmkbM*rRmyaroa)ZH~tTW!;t`H#>L7iwfzSXdC*L2 zENhu+i89p2+5%xPtpFCq8+4ksL`b05zf_%+L^D?!cPjNyQ=H*r<)t$+x31Cy&^xia z62mtkeGXY>d3D>>qF+7otM`zqON2*j^onNbJtKFJ-@su!np_2n7Jrj_n)i;RGV)UQ zj@pp2m0P=^!EF5aWCA4h7WOvjgdfaCQ00>v9%S;P#a%GQm|#4vG<7SAzZ2D-&xM5t zqg>-R03Ovc_&%ZlV&yDKASWlk%ysJ!u>EaqXwh{w)>vx$Z0##PoIbTr3rhpiV821R z$2X>9Ksx0PkFYF;l%{gCvs2dZiUQK6BYgTIYTB67xLo9QJ)6jhnoMSV51z7rm@P*) z%#D4D5BPj|1^0Nnv@Y;$6rkg{m=finxSf2I6Q6knd}$YKbZtxGK$|?+Hc*;PR6hUI zKgOD+8gLb4;@h>C#LEfyI-)~xGtQk@0GLcivz;mX8y&ssWUa`F_2?(OSK+PAau1$& zIkm{K=2%VWVf!?6grC$*8$<3j3)ZHHpG^6Jr#Y+1mMl9~Z(T=>>q0BqMx>doy4X{$ zKha174$>qc9VJEmcy1=TOLg^ENTWml$Z}c6`_y2n%Y$yU#A#%sKReiqBirP)t@aF<3ruDB8`C(T>|1f?BN-X6Bj=m zugslC%Z7y^E?&F9+$Uo^E~9VET3#4>^*yOLZAHIq!eZJ%QSyo)Ha6@%^Go`g$>Q0* z!AZx>)sKZMBnJx)8xtz9MlZCiOW_HlfRI!wizdHkDp+h8?Hqob0)7@J@cwa;M#~|P z4r7Hm6t74hulj?jkRhWCIo1Q!FQ{H)7ZpzCG(}BRb)QVvA&zQbybEzt5vKMQMODiA z*t5F&(Uos8a|q;Pu#v~h-3!M>wtC-MnwZoF#t=OUd5@@Cy;fS|MEKZd;g!4?4?A>q za;-2q{*45&1l!_8=Cf3zQ?gC22oxk~nQ7EHOYpZDQAK6OJl4l>IK76X1uFBVpfg_ zjzJzWT)NB{2xcqMRao_C;Vwt{-8G+FPx2sN(06IQm@(t0bop`L4Lf^nN3_zTSU=oew?%+y-T%?cic z(80H5pF^sVI?AiHv!|)>$tjQPEs8&{&5+Vvmil>H%Gwg9h?e&g^(H4F?hxjJktvig zZi74+vh*skdOoU%Uiac-8!m0YfRR~xy27%zS)yC`!`MMLdu7K4Uomh>w_$*l#=H=G zIlUK@dJQZpGP2$HAP1)$g_RhDRXH-OjGBw#902Asw4nt~iT1T@ltVY5^BU4`O30Du zCwfo6F^Xz%1aam2p5x^ovlVP{jndAD}9T0&N{Uc0?YJ9?}Y!lJWL zLx#EXPCU*W>E2-eHf~#%Fysa=0C(~~wzwBJwi5ISq%E9}4iQs%u$`V|oOWt*Cw$dx zg94ycuXCTpmW;)q#0Hh6GH*g>sM1E~s7+TXbpX4Ks`eMC+52-;Z#(Tzo0#nLXHO{SyGFfg-1ahyg8OEDxB(;=;%8oZS&fFrj|dH?-7FK{fF zMwjsQok5RCzK*o+5q}7(pq82l?M;x@tmR|uJ$@-7Jhvlhr1T@cA-?-JkF!I{71o<@ zp!UjExGfZ*Q6CIY-~dwwQy|GCqLfnV%OGnyJkgjl_K0yra*avBB=BAd)8Q#I3h_8j zY(s?q!AK$b@j(Cz72jlu=y%GQ@BJybS5zPNoT8R@POT*p_efrcdMZK*DGe__tAFNm zgqqH~zL@3Jag4?wHkO5m)?GiZ!^Io3e*HMH*3<4x53i<*H*wb&csIbN2Fk;Y(78)) zI;ElGdtABp?K-y{qG{1NE`2d;$JjXam?d4;70&zE(d0FH9|C{g2MBKBMkf~Umddp# zjsmf3q^)k5uQMivj47i+1g~gIWz%FCCE*8j4`~X~BXt!$&4?Lxuhp6s$TLZhDTmhQ zsi>NBPY82Q2syXfWhV#dIbvk&EM&Q=4piSGbVr7Qx`={MAx&pnSO;78;Q)D3*g5Gj zQ9Mg@5pSS&c76{+p@A8vBvq$>xTHu93!MopOnRuOh25EfCz@lR|0fsmYzIUcIB2p@ zwZ^@p_W%cyV{Eq(Zk7N-iR&SwSrRM%=n39U}35NQ>nMk9_?h$v;rDLTt! z;!`~pRrTM#gQ>Q`0c~|ihYB+V%v*LzPp{@f9uy9(bIhA<<_6ry!%4NyM!A2-xt3JB zQxipI&rP+?0OWxWaBL2`nv~)kStH66w*7`IGf8)i)wivCXDq>cok)qAON1KiZRuBH zidL{(Hs zMN3T|PW^$%SCkZ7=8V2@qozy~ToMB!yEVbneB1F}o&6xnfZ+FxYkWAlvBEzi6cBp% z+gHrsrfQ!6A@jS<*?7Fs=Q;g*z>=!!Yg~w7I4Mbn{Vt0HWIEHx>RKl>gi)TB_h@;% zg)t(M`ls+~TAw^#&n3Yvvqyo?ukTPi1jf1Tm`^Q##%wvZnbPPxWNNz3PNQo^l*hmv zezwC^*+qty_Em=M`yP1S`x893;j`EE#~`8i2n(EnJVgVh{jW{kfv8e6 zK(iby(MawLrDufTVgLnH*wdThbov2n4Z$}naI8^TL100QP$fLh`<^^KpqY*DD{F_G!hWIY%PmK^J zG-YSHFL_hxj}WpuM|o25Ne1R|lGyaFQeWSkVQ0IX!A9MRl;g;`mmj}wii@nP2pr%q zVvo)fW1+8TySJBTI-k(WyhClY(7^|gi_$K(k5S;izK>B5zuaic*mYG!8~tlTRYEqp zYuR$M6-kt@QN}99hoLNIbhy1oK~Y|l++$;OYnkPa9<8@|`*agNCT)DxSrYytyai!X z>{rR@{RUD_IP%M&y8HXxRra?7xHYZkR!(u~?aa7rs{edt+Y21vanwBA9v^=nCN}t( z02A1)vpxzVKCY?c$fhClT6k6CQfeI|78ZZ`9-`501{-h$EA|SP=d6?eP0k~;c~h|` zV-FjSrGmHpr7REJJ@#}g@|HTITsY|$R1yDAYIzYtob|xa zrDGppdn1HRvQNa$j-eI&jg_nRAY8J7jvD7#xW=@s{8oBkc@gN`BtmpRD`0VvH8NUxx3IXDm6rL&m5U0|bi( z9R-maxUFjToSVpNySDOvB1f-5(g*#mnX_Md4qg7FCY-aEH*%;*so}%`#9%Zw)Ycm= zdSlzx{X};i?T9T0$+qmyEIa@DdFiQloIFCNtrUrFbXiAH8Udu&FtvmB!j`3~ehen~ zIzxFb!$Cp?DydkH#i3AbY;1UVEyGRX%0daLAF?Wy3<`vF@CZBj29hgEv`*lmCbTE- zs`6>Eo5sbE%r?Gi84?m++l{#)?*Qy?mUy%@>M{F;|*3DHHV*$_p^4=Ze0iy|y0fauKG47S5^;BQcww)?;jCANelO(*HS6_dCT7PfY)7%451(Q<+_9Ev9y*HS>Y{L3OC# z>QbXnyi(tc>_`F3G}j53(`@e&Nl6QM@0OiBLB#Ir2pL}QZ|F+6g}?cJhQHO$Vucq&7Pf7g6|>{+ikjRtPSH&8IUa&bB1gB{sdS_k8NzFr88Sb_#nlO<);`NmB*18C_GjBF=-6;VMN4?Y1h7 z+_p!37p+2Zj53o=y{wics6w?+)04p3Xc=kuHpw&?s_W=SJIXpKlQx!q|8)p$y-x(K z4G{4_HpZNp@Vq&vq;>ZNdP%4}yArq%msGxeToSo#Sv-_WDEs*1ERdx`w8(sRybr6<9z9#HZQ z|7lp`IYm326Z6I%KasS4F$Z^d{iOALy21XCZ&*s~f!JZp3PA@Dj7)tne{79Pzvk;pjoEdMo zj><$)+pVKWVa(3FQAIFjoTvoTw&4BHpt3bE}Kg`#+WMWIUBZbsKP z+pWJOT1U;Dt*73K*pyV%OUIR{c72WKyG(r=L8F^*|2+)7O@B3C)clDVg zjBm2{?mi*0nA6qY-PP6A)m7EnbnOM_2nwu<5x)=@I%AD2QCW~?l5~%s7}4s>TV@N z!vM4{pNN$|^ScTKz9CWA!YgP5t4-M!PoVNUl3@|jb||KCm@Zm7YwjKHx9P$d2L`r4 zXWtyrb@Nu`T)2U==C)&_CpyhWb)l(-nquw_TyLl_Sanywp z9~yMliW8M;pGC%%$dO#TnpD^Vkrfic!9QT(GuRdYl1?Byk5Ee*AQ2>=TWw1NbXY+| zTN)tNU{)y>5*G<64o)~bv&uk34A`uGZP41+?VQDugHObN5U8UC@HqOq5y;It>F&Y? z2Ii0Ca70Zl6i&U?kpc{iPl+nGF;)f+5>6dNg9LFk3vIcAz+)-?J9l?GMh8mFWtLfM z&r`%pFE&@?0MDDNvCd7K5xsvF%VJLlNB$|NVFVymII|Pv9PJi;|7(HExs`o`}N99gf zddY3&7%c*@WoWwf5}!qJ&Po9&?4UVEQ3ABKW>BXZU{2!(MK&Y=gom(gh5(CNel|b? z7Cpb*vRczGfP;2lE}>JuFSjge_~k71WaUOzs(d+dR_4oP7InS|a(km(T-M+-bOIz^ zG36nzpE%AXR&N~F&}{8gz{%=Jg~H&~US6@+Q=t$SZ5lM1)nkQfUhVNQf#{bjyW`Y= z2!{7;K@qcgi4M>qra19rWGPAybB7qUUNO-fC}NC1DKT|{-VS-9@iJ%%BM#NuGCbEQ zCpoJTgmmumWtGcV`xK1qjgYo}hEXdN3lj2cXgn6eWaU>on^xT!9I3=HwR9EDwu(E5 zwhdY*)y~B%knL1jaf)fppuMTvnp!Bey}&RG(4$V3zG}dW*5Nw1!Ka);kYddeEPB}) z)P83#M=U(Cmt*SJ^$Z+`GqI{?^g5s4TC)B^=>Wnk!+hM77M{>h!$E-~tRwUV(G{Py zGem5~glF$s@g-wwT@?}X<>(BB9N3#&BytWZP1=xnFu-!5A*Lkup0yg_5n_W3*GKT7 zi>09&`3-dv!wv?7o)K^kt6vD_D><62+R9+oHrdKx)<{&h*u)qQJTwsAPg6q)stoxP z7#{MehO?`iwW^O8PJ=-?WI=)_bYe_f4aRyf0TWoMen>^s;4RG$8;}ld4X+|7YS_?D zX0UuN z^*3=-w-y6bw)9kUy`g7d*v?bl&dog49Jlh6yxz!Dld5ezCCr<6DywYa1>hTaDkg8= zhQxL?kT&l$eD&6yN)qrAQXnY$!o(4_8dxjQa=^|ymN4(|A#>T^9hi1^)hcy&OU}<) zyG2cvk+6Aq(|0(6m{vsfvV;bx7Pcwp1P=?%!b-HYJZUo*0Mw82n)djtvQRQHMP>10 z$EF(`(pud4=;TrzkScm}Wv3+}x5ddSpo+96K?Lc?Ux@@~Sn9=xpA|4m=V7yFMmP%w z4YxEHb~@*0Kwt-w0ZGkapn6QTg679mh4((=#<`1W4`)I3T)<iR5OmQX;P~1;1q>w0jVgRc_jZc8%<^o>Sa1g|j zD@{2kCkX*)0ZdpH)_aD$w8GV81K<@1CMnguwCYN+?!rglG7`l?WTB@~C#AHW-X(-E`P0VnpjrB?)^KvEcn$)61CFMx>kCuJ;0r)nY_zN6RI(w<03} zl^|IYWkxE%3?nfqSi4tLD`aM~u=Ld@MJ=v;wXxC&vrw>JH%3R$VpDDyR4l`71;Pgs zsDU)q)Sk+E+XlU|-ZolzgU@Lz;U}<6`7C9X@~mX4X{q_33ozc)XRXKP;n*9i(%_*# zLaU%$ru$d8_q%-E)L!K{NAQs*ZYWxoYtQC2nVHM%<*;dl*eiJ1>|AT6vN;#=iw5Ur zItE!zKKMvN0YFhehFOGBGydsyLKE>)wdEQbPKu3=n64dMyym0&~iyoGZKFllQ2SvKTRI_jl zMgyWHo6905CCY$EhMOtz4g$5Vrfdutv0!tMN?mxL8ZjEnB01GuEc#l~?JB%Z1nmxM zS}}Dq)0}xFB~{OYKvj1d^JvMTy%RSf9naS2m^}}g7rI{sprvM^;{m`OezDC}Zi-uQ zv|;GI`1-dQ#4#fHd9Ze#b-4*K7cm~WSWSwBBoL}@Sqx)#fCb*}6-gXpTMuT42ngQQ zkQlkxkQCeDS46aOUWrx3P8Lw@#zIpK;R#gsX~Vc>Xykyjm744YP-uwAW-t1bwDDBb z&oHn+1v$!)B(URFc&B(!3=-lp_wC`#c_%1ta##y{%156j7Dp!!flg`U3hg%QH;sAhp{WY7_i7!a?5H7 zO8^HMOD>^P%92|aTwWB-LTFJF^d@G=u0kY(%7t{0xt~U6PyYx+M zyACn_3V{ygDWaqf<>Z9cUcsQoZ7{7ld0c^xp83{hkV0b9cw=b(dIDOWveTc8QRCnb zeoZnmJbcSex!BCI;}nkfx_Kpb{v(v^e;UfsrOeB0Ai5J23wh1O4XL65ysfj2gr?2N z3U6vr%O?M(b}iW4OAtKA$s})W8iwS|A?<-`f0pT~k<=M9ZF74xDg(04cn!@;<0?LT zUro0&YA%#hU!0(Z#4#}lw>Jpp*eUNib(5(eTw5Th#HiAkBWir{jA>8=!rhn%L4k$K zu^dwlsa8OBAQSqaC$iqsC@`?jo5B#RV>hrsL$F-#WKdgWBu6Z$jO3VFJH)_emG@1J zawVG*;#49KEu1Xlue93rgnisRRq z7nWa=U4|piZ{^iYzp&4hICYaSujE@s!YcWe9Sd&oPN+IyXWMeLW9N8-S7m8%Yk2MP zOMQi=B;IDqysI(^mO0k|%6w~q`R;F<*lWlZu8L#V0?P~%Bv3Y@*YmXyWUtHCA% zTVJosQ>n(%ye{thu#Xs|Fp1W}1n6WDQwnDgH5&-l&b5R>g5C_P9EfPvUq|0^h6n@| zelm5S<|Z>R@RBKSCnuRY5c$ZIyyhZP&$^szrLI&QWGW-`kExo%Jr;oTj;V&s38tCz z$KnzS6(3IN82Q>MzAiKrgl{df=Hj9-0@}AOlOIUo!6l`3rX`9O3$mUuYph=q=V)Fg z_l@G;FWs>s>%J^fH6@IW6@`oelGztk8p*K|p70$XcW|eQiVsAI3m8sTRvOGpSA@1e z_JOE_Zw^}t=4&Pcb5pDySH854NuE}KMc`rG_Xumsmc&sR=swFNz`TqO3)KVnn`nWc zv#t3FRL?qGy;85?j=l|bYzBmG6K$e{+e9<`5hS!iM|uI>ZKC!UL8_wFp6E7FJIH12 zHZe6az~W%3h_>B@YO5TXX|THqt0j)^2Mto3D{AcBm!ha?3dM#5aFFCmkB(OIm63$x z8kaR|EfD3l=1R<(mBX}%#eGfk53t;-AwaG6W{@ za|mS)<;_tYX=79{5!9H5sQfA+@iImj)T#}>%T0$JBhE9V_=Z=N^`ZzpZWUlx6YR%S ztANfnSWZHs$3~3;IDu(=sl*Vxq05D%M z@+Rg3cl2R1W=$|wiKSVh%94&_TtIbaSUKWKk*d0BlX{b>C3sc16#!kCa*?hP#KtN| zqH-i*iC$gZuq9hGkkfC`Ii3KtZvQ2w1-Lw8T`qkVqFT2<;^kh4M+J2c^SaOswISN} zXg7Tw*cXw=Xs%;#8xZ1zMoir6$~52RXozCCukrB$V~k(d*7}<1IJIgo^l}PBWxL;V ztwd=W)&6w_@?P1_9zf|dNnb`eKV}2Igxj*YQdT=U&YafiVzMG}Q|G(mt8#L6pr%;% zIINkeLWHHqDQGFpi(sK*NM4G7R*E~qQlf0R4RKg*P)rpQfknC6c(T%A}|8rsBsBh|gN17O|A*^imjmFis`dV(Iu-ddf>K#a< zT$z~L5Y&5trnTEsy#y2xXV9=h&1$_IY$$;jMzXz*L_M$b&Z6qfZGd?we;v%KHN|+z8e-OpXQe1*Nu4|ZtEui{3jU8;J)L%c|Q zz{75xuWAoE9I>nV*<35B`(;A*4soSgs|2s?BCQLIIL23t8>~h$!K(_bj1Qcqtk!sr z64qp4rul$VFz;qh?_@>1-(M8c|^382!+UkcRa)-O6iepbtw}NAhttY zO2U0a+4VmjAJX8Lp|vRpM9R`rKf$6}50ML{A`hV@-{}!WV$CaX$!Az%SD*;Rw#q6g zG1XnG#|E#6=6fBmE`gr7sw)6n+Q<>S=+oSKXR)m)n>qN1EZ4sRxwOp?+3w=R?dsd5 zZsLuvM$!DyAW`@sqz!w64h~l%y#E72422%GuD(IG#Zl8fjS3E9IRC1S39J{hT9{ht zkf0Wp;N|F?vR21mwMVe%dmHW44a-&S6-A>n3Ej~V?yB~aqUPV=Cnd!dEL8s&-cc|& zcnMxnG#iKyT<=&7d>G8^#;k!AMVD$8VF4AaT!7qxi*R~^nM&$Grp}hHZltnybuoE? zxAS0@in)U~DwP{y!NId~PjRQK0r!1a-31^Yw&B=Co1bQ&W9zchD<%V z;XPc{5Ja?64!VM8+|i5Zs#Jq0=m?&yPDk<0DSK-ivFC8m12vAYm8j1i(UCJ%zc~A; zzJ=LO1>U@$S%Hzx=|Yg8fOX=ft^!A3=UhPC8yL%Zi=<2lx*s?cgV;TX2;bYBiMaf> z^5MgNyp5{qmb<-&rD_(p5G?~n1p5HaFhC2c=>|u^S=*AxL`d8Imvj8K)>Svq&%;wl zSAu^9O_1QV?^AIrZ=31QL7~R_fCWQJV~s%|kSVJp!vdkoF@;pAfQrB5482YI={5_6 zNl`NclL8(@lVJ+%I^w*g)v9To^V3zvGr*7G!i2Y#yicWf>Vr!VfT#|4AQn?yS*xnr zPlTq3Z`O&=;#avCRUZKf_q`ewfc*B>v&VZ^tA(&~@#;m@H?IzjSE-)6zDxCbsvA>J z8g4{AU9e`<^#@_j!+KbY_HU>h*UP9QjdFtHA@}>ynxH(Hlj868cGO225@%i)4)7+alT9NZ4rB2dGYf%K=!OI2bq2N#Es5#CLCZLb7T zNXy<?3}VL?K?^YTE5I^#fqGOhD{ld|2uvk9Fs=)Y zd}~RxV1|i{32R_k1K#io{X2jiP%D+tDfvQ-);z5 zG-x@(lM4z7GX#ia{UKRS8FsZb#VE_-@bqRuNw57k!&71bPtPZO?#xhZ9{4VcaxaO`xK-{MH1MZ#|@b$yrLTvGVvlQOCT>f7n%nFh}P zkU-U~qhx#Ela8VAX$f}tDV}M44gR8rTyhP{g+CDE68TI7zO6#M0)lT5ce zOQ1^CF5Lp48~V074X!#j4X!%*v<14PIyco`A#KA~P4KNcH`QLTG0i3h%mm2IrrIK2 zq}fzs#H%%%YK_jg&8Di=QNGzywK{b)TdG#eu-Q_zlK(VYs@5=NOVwIkTN);vO`9#% zE2&!W?S_dtGlgwjl11ey$Rb?ugG(=t$Ia$n{Cyr z16Z@IdbQG;ZPhEn&}^$-9kiPr)hoF{v!i;oBR4y$S8|(XNA+qUHan_U8+`+XC4Q^k z9o1_Hy`y?{x@vY*uh@@fNA((}@2Xy@=r_Ccf+ha9*;Tc=*K2mM80>7`?5b9sWr4_Q zj*idGu9_ghJt8cX>fOacG4;M?7pu;01)5zfMl;fHcGVdB-eUu7W$&p0I+`|nsz_4x zW=~~H=G5F(|8)Ls?y7$}-8OfvNL#aO>Yz@L2xw#_BSt_~=*WtI>X2*>0aYT=B?1~z zqe3`|E09)<>a_Mkc1WK$>6@?98NR|n5aEeZfF7B*91t78?dBNYNN>_{e4`vw<-<2d z-uyJ<8+6EYPwNfio1k{4meXVcPNk>2}NCTi1Zkk32s0C>Vw8rf+7Ia)KFnR?8pKOMJfLf5I zNbB6rPY9?5MzmmOmwkjGpcWX}!X2Li)&ebddkqo+wZJGBw1O0{7GS;OsBLv(jpN&D z!5YW6RdQFA812FZnF1+BO*ZO<$2b+R>b3qc+!jzUTe4zLtREwC7Cfv5t8+X8Bv5i&SpV8E6?q;U#Z3qS!FNG(uvjF_$8RXs+{V6?7) zwLt6IUJyo%8fpX$5@ZFe1tJ|7Zi`VeBV>4BQvs_~l*F!6QMB4-v-L^XGn$4M&J{>4P#27>!LC<<)B-is2%A!^8DpbFYr02hG&JT8 zq*1#}XQ@$M(>rQ}4r|8Tz{P?BR;Ya^5-p-;c&2`s!_G!6wkKsRp9y&M7}5-0nB*`;B<+AHrrUYO~c$BOR6}25gyBl|pAei8i zWM~s*AcTG>gt`z)pD3sE7(aV08*8W6(hsmvYaODQ*Y74rJ_6iO*KEiScl)8a7H z3R%lA*2;&j!t^4=ZJ>Jyc^rC#koUpjybl(a`mkv&gN3c(~RFejN1=ffs#fiQo%z`96Fr;cIhms}Gw- zeBn;44<@7!T-fU4Xt2(IHu}3e>&&sUw};Q&K1^W&#J|eDyR+Bd+r7&~JB+>y*xnxM z10&1|L6JB5d>)?>0B*4*ckvI?Kz$Q&IJNWN-E9=Qy|adYq4dDixY+1}RI3~|33QTh z+_i2o)%Lc^#Fcy>bacHB;)AMSZ$l^^knDpUW2d3Nh;Q6&@f(+8908_LWw?P<8uktr z`5GFS%lGk?Fzdz7Rv+rk%!{9mKKqB!It)%Wd|J`9;s7Pag!F4kY-YM(T@39T*S|6?;wviIXqWl*<eNT>J1FDs=d^GKmi` znn9U3;b8bNrIL`B=I&G*0^cnv`d4TC*U(?5*}=Ea=Pq#r+#J)8QS9G^Gg*G)zNU}jl?HkwQUp|x06>Nb8cnA;$DY%sKUfY|s~-36jyZNaw$ z2NcuEx^eu|zpNQp%zugV=oK;02(+NKm39YLv>uW;f@fa zf}rZdC=fllx)WBAHb6avgaSWW`Ophg+PiyPo$wc~Wr9`$&DB~6{&F-^`w-Ol**xNx z&9yZQg)~kAoSG;O%J?WV5mbyG_dfhsELIXa3VAnoMf?k@4M(5WHzZ-_C_!LK&dIK= z8kq4Q6YgyJ4U2eu8>WC#a6f=*v_c#!+DTc6>zE78HwEAnw4kitr1|()bF{NF#3120 zHtQNDnlrJB!NS!jX97;-MNTj{P)110J?+7m84?CO+b7C^2|ViJr@qH6Etx9vQ-j;< zJu)%3*TF-9yD|o&89bRD&XF03#2yXS`lCVP9MkmP=wP}!*ythS@cy7VoPt#v-s8vW zIyfccTjtlEeU9ub((}*nH3#$6)qikpEhg!k>0ms3z4ZO?#ltrjE6e|TEN@q{pz?hHu~Q|%dG!LICjf6CWLwrbcyf* z29YW>_`(DEdb0AwvzaKGY5aP_zjZsoEOgI0n*BsLF4FKLM~?V42hdhNEbrMg3i$C$ z6%hQuQ~>|NY@Yv8*%iO1lS?*zQx}Y z{C$VNf5YGR_knb<8Oq&zu}K_!QQhVc9`RP!7;!e$ATloDlhT(3V*Nh$8o;m z)TEZ_W?e02j&e2bE!A}j$I-QC_|4-7$255u<*-V>j$`K;o`ej~!#7-iT1xn+N!=}K zU<}2yURaZAgbJ9~Xm-H-@N#7Jl*`HLJ{&Ml3-wM*n`R)T#U)TqYXNl_mo9-}u%q?0oWnkxuv{9! z65oby427_UblJ)A7e4V{AdWYM?G0r1SMz3(!sm{K| z-o~$N=|S=ozE82Z(-io71gU$X{-L`Hdkv?Yq*IQNA*}5%M(h0*&}tju3*Mm%DToa2 zagl>lt%`?L=nKcuhoSKgeOMoR?Bgoa2h`i9x1XEB`mfMiy_PKvN^(gb8!Y#)? zOutrDLpgA4Wc=Y=xTSyp-TP+NQ{2Yrc0^mT{rb9gl^WZzT_MzV?ih-m6D=)O+w3bj z;__tfj?u7h%nj{pA0ue>*~jBJT2IS3`8$8yX}s;n{_&Of``ABDFbCN31AB@$66k(V zg1&F@!lMcMqJ)nkKj-#_i8*U1q3seAQivv=w&{_rwA90;5g0}Ckt_?cxGXdr9)NyM zR+gWSDd%09PrN-#%@S-XK>?;GOD|aZ(in|fLYezZ%d5lQffsO{dqQth>yMyWpw@tq zyr2LOjp{ef@lFR%e*7DDi#x|6$tz?WdlE#B`s4mAb#5~F?6Var0yQsYx4xUIPf)*^ zK~gw`YnyY{(R()=%*8p6p*1?bH*>CeO#Yf&G!(*zZ=Rg4%nrv#XfFO8j38b7e6+uI zeN7qWl8WWZe>lcCqOlx*7L2iVP*;k-zuJi=XKd4=G;{o8lGWMZi|PM;4K{+ukil|O zvsdJ28sT#e<8i6@*e7K;IA-OsX!KEd1XLM8^8Eh&%K6~Y6hhlHL-Rog+F~Z>K)m6t zTPv}wd9Qa}H!`8lw4e^ORbhNFdJ9}0&#k!LJI64*&JKl^ScNfqr#gzf&Je2k$gewDvcoRUcWESEr0qhQO)j&xQ zrS_ChStKvv7`&TenU+Dw^r=ru@jrvOQecqse+F@&+Jp=Qy0}SG#fkF08jx8h1$UE1CE73Z{{>yl@|FiP;6dc4ULYTS^6OaClG2px0{^ZSuy29khzz9o&K` z7V<0iox~snYOeRIpvCU#YQ-?(d3|X8hn`HG4f%91{r`6`jojyd$HQsG^)DWx0^@53 zlzajx$E&~**8-6iW8QT-_(=9SGyUb@_aTNlp7ZkI@0Ymj_POChhnJcoZylt{;XE;3 zznbq24Ee8Sf%CCQ2h#djnAziePPKDYeOlBhG4Sn~m(C|g9mJ{wbj|fvr$-%W<2l+` z?85uT1F|#N6+fI0YLQXTCx7R~+gx+adRHfWug%!}z`VB^^e76*XRG=ER!MjA0X9ur zKFD^-d+MXx-+f{$;-l`PTa+s0<6Ayp=X26c2f8Se^4$4=6wk`}d{x9%H%qDVT1f+z z#a5l-svD(LS&&u4RX0khvLLHNTy?XQDhskaQ$9}?xz&y0sw~mU2gxXCNaxU_{+~a@ z3&;+b8(dib4l`!J?G-a1AadpnJj)kshzBx*5ONeop+3$A=ef2{YrxG6MA%BAb)^*& zLcv$9ugDN4j}e35H9{~vS?Rn-2#W^^VN%5q?BYq(o%RX7ekmdMF(mUH!3Q`N@nfVf zp!Xpdi-=@s6lrVtei^>=i`XL6f$)Xz{Ei%Z622v8EW7Qged;@-hTF|ns1bl)W#sox z8w!MKzUC^(2l|LPxq@Q*+G$2b1*t$#f6kMI2B z-~8iy|9I*j&-~-LfBfJdfAWt%`^Ufg$A9>TKWY#2-D#2#ox(|gcB1L!#i$_)JtJB1 z9EB;%W$<14f~vNW=Z1=angG6WYXp`N@BVMI+1|*M~SQHPP@{I^Ns>@RwX8(!U zkUWI$eTsD$9rs|hu@@eoy?IBLDrB{XT|9ky<|UDV5{l2}TRu6RHritTrxOvXWpN)Z zw<8gXLDU{sS$W{r8xz-ci=>hWg+;Kt$tTw1AIy6E6R;W!jKxRou&pih!~5AsZd0GO zr2nZ~(oz5SpCqrJB(I+&ub(8ZpCqrJB(I+&um8l7*Z*N6*8i?Yn13Eg=_mQEh_`~~IF&xD~rCa(1x%%4uB zuzBK>CH&&!nIuR!82rdgNBuv+bP2|HZy}7J+G+pY=wyHS4E!>3f?3|*=tJT4_@}S1 z`x8(0Vf@5M{9gANzP)D_0A-( zemTh$Q-|kOJ<(1(QRyU~>4FJA2GUC7Y5%lcS~BrsinVqM6;;Z^(e@bLsy*@IK$P^Y zsX6=Dv4)fDIk+OA#Z7fs&&G3{=zcNTG|t>&-CpNM&95-#qx)fVWT#YS*z2B3CQ!-` zrF!+Mn((b|+&cSkq8ck+{1RHc`i0`G&JQ>2sQ(*Zq%E9~EFz4f%whIn`e@PIGj5L6 zQ9VqRMc;sZ&5zi?yAoUMNq0Le^a%b@sKh@!oZp82tNpClwI$rHOMt}S z*Ou_RTteySc!)FUVn-KCfr4$T1w#nyI)}S8mM3uL-BCwQsYDkP^(>aQk?Mjn_Xp-< zbV}8E$EKKn(^m{oXOb3S>YSx;?0|&i*AC~ubPVV0=jn$UdUDw{65a-I+u%GG8j*WR zjrtG7r>hh-e4lp{pW4Kjlujpk%Bo==8)*AAl}H741UE~-{2VE zFU}`FHs?>VSt!w9X0_!4zMGC-c~f&v7BZTB_4om;KnBNf>pPPz$ny73o-Vr@|2ZOr z2Nv}e_zG*y3`Xo{3qyF`W6k}`Iu|SW2CwJh`lfeq34;|_8)eYo((5`|%=P7$6Xt<+ z%n99`LZr<19+2_u&dcV_%E=)-6P&<>65J%+F+cwvI~pSvP7#=dv6dAlX5r}CHEncG z`!85@7=|{=mY&s3d+^0{+FUL7)ZOe+pn*pL`eQntT#n}l&AsWt>S{2?(u!JXGRk)2 zPYd&=y$YW?r*y=rJUvmH?p)yQW9*78ze|FbnK z`YA4dfNQ0wM-L3t9v6d_vU)PYdiQs>V!e0pB9xG=#i|kKTZedQfSb9B%HnkRQ+^Bx2qlh;e6@354Ff%ikaU@%=-ems5!ld}^N z{UxJ`wyw>o+B>t0#73}mf(I*>Mzf{a+31wAGAv$mafYW5nky_HTLfv7O7>@1T=2Sv zg++gAAp3Ns1`0pK;!iz(hr!=ZyH4u$v@bJApo_@<{`lGkMQaKcamlAhF&5ls0?PX&zV4|gM}%TAK(@_|Teq5fctU3Kb{r~-#He&oqgQF5!Jt}G`A7c z;{gFhuF?-{O256H(r>wYJx{;A-Xk-P^tYKF5Auyy{_@+*N&PjW4Xkzl^4ryB^)J6& zCJr~S??pV`L0*!qZG3X)FTc&kyx%t8Y8z?>hhWYUBH)uaXF=d|YeGkuP#N%Y@H9^& zv>48H;7S+PqcR2^*@&&K&S|h}8^YnJ-yo!_5MidVjm6by4f9bq7!BJWmV;A-w1|wz zC3a1#5qn>AIK&{ae)}R)ABl8ep#kS$0BuWtTFOf)VMM#S0#`e|e*u^87P-JyfM}PC zR*$Xg@Y|Dj+!4M<_vVO%;q3I@y}=%R_*jY8BkSJr>a=$~0Rm5t!MQ88>&p)7{IDdlS%p_>opXN~#S(!TpnIsBQxVkWI7>HlVD4=TfK%@I?VniMs zL7t*S#Up>XI8nYg{QAn-?+?@+_?MR1IcpxWjBFHtI0XJpPHBIQtqFVfABG%AB&o5j z?7LPbhFZ=q=kMR6#Sn=+7+%cJ?yvij{%qas*||mVr1KP3&1vzF8VaTq;HTqKB4`5S znPBd{-C*kvCnPhn-!}FMb!%k>^X-&~h)k!QI5ZtjcuFPZ;U`Y+@OKK#v_*D4_{|h< z0J1T<2qlUeAC8U!t;E5hcQ7HX9IdYA#Bijq#9Zh12V3~KJ=hY@dc*Ncj{yKY7~@F= zykNgF>W@~pe3U<1zrH>nyqz8%m-ZYR9X&QWYRx(}G8!6!RHCO$2Ktzi-2-L(eC3z~ z6>Gk?itdY|?%yVGd!4}B1d428*s3z&axV-8oFz;^IX1T5bAZ?JxxS;%4bc;Rfs_B8 zyu5LsFbr{^xTze!e-97gDiW`hKtwsizIFe;e6wn<42T)y>nvA)8etU2E0{4H+Tft< zU~+q~elX)d_Snni@ER3)QM>o=Zyt>P7iK69A*TlJ%B^xWqAWmzf8OlN@9SsuDr-4y z2U-3GqIqEYQehhD@c|AW&hLy)!kiiY!euD@CbQ{SxA)+Aa_#dOpE(2DXdswyudQJR z02E#v{Zus>j1O<$9v!XDw5#7+d;fj{KF#vHe?P*Z?^}3CXt(XjC9<9_{fJa2V8)z_ z?QURLe1j3+zVU_18E4Ns_-d|ik(xTEt|*ntum2m{yrW(91~dCxt8fU8Z&&^fq}0uo+9ZC zr%}10Fb5eKjEPkL-oMAI7|hapXEQ?%nsqFxf+gI^)4#-PT-m-@g5H%FYwx4*Z*zZR zQ!S*H62w|d=eKTs#&=0vo_y=p=-xSx%wEN}6A-%b2G<|W?;KQ!k{Zdu8@gkH;b#9GEl>1y#d>Wpw zlY&yABXY6~oko}WX-s?X4D!f_IJFS@LAc)$S%)ni5xJc=Sd>SK?*b z(DzVEfp?|UQ&C-`cYS?5yXT7o-ldTW4nEc))}_>>b76h>fDF$h^#OUla1w6HDR`O> zzoY8V3%7}hjLyI~fpf$^bhBbii|^p)=;!&pbD+23 zW4ylChvRj)k+-+MJi{RI`%(6X+T@77h;LIYgp(%DzpGH@83_skmO@z*{FX->qj^zHZJeC zV)A(na-Le;uYnt9G5^gIG^^()PQ~PaZJ$&E$T#+G{n(rzE%(5A*qnC9_wTHk8~)F# zVn`<;T~GW_;^L0$s#2Q%Il6u90|{2){O=yfE}8xTx{>JsmJ!apWfPDnH=fn(RFsZ& z=?t0@u7EQBVS4BB(=Er@I_=CAPzt^Mr@!1NF564jNUs~Je zE_8++=nMh~aJqn}vUpyxFN~Z{@YBza_Z#g?;Nz}MsHRfZRSJ^XT;0PxSZ6us38byh zDjl4w)>6ajs@DNem?$b3=P1gB#7sxgvjhi>=H9_f~_pC z-Ekk+LpMw`E_K0~pY#kDiwil&MW68wCwLX5F!=zA!enDZ1mECCf1xrMaNCs;xpn}d za*>UH{(8Ef+{Zzf00t%do}Pd!!Fe}G4YG%}DbBgQ19=UU^EUbjob+saEzgFaqOr|D z!aKOyzEyB9%XrExL86OlF}180vMa@)=z|K~oDipsCQvhZo5@3(*lw=?a=uVgx-2+= zckDSN|A3=D^kRww`Nv?ve>xWU6-+{d{iWZ$n_ZL1!8HG;;{-T56T|GW|6_IVEW}X9KNBy&eu=xs2st(odcP&m0LR3cvVs{}z=DLtl&@9As zvFbq*g5vfopuuKBgV}<>Ho8JAB3Cahq)V$~eCw8+W;)kd^=yCX*%_Qzl9^tDaQVe> z=_Q`qT{?rpBShl{|N8L*${E&{Zr@&-Pp^m!#VsazR7k_~B~Ka;H9I#3oJ5V3Z1}L3 zIu61 z+T|wYd*qU&C?Mb@0(Bk8EJ36n5jD)qs#uD49d-=751)g0@}om&A)8lu-DFEG578=D zkdRNup)v~z&(b|;tj{z*7Wyg)IXI}gD>y~R-j)wriJftLGwK>FygL1ug|gp6O6zd8 z>+XM%n7K&4tJ%X|!qofpSLz65SD=e3K-@P~%**C)6I=#Z*Kjy=ePeK^Pw;1Ko8Q>B zt&Ov>t&P30ZQHhO+qSu}om_tZyL)q0_oi!}p6;&ho~oItnx{W4LP+(QnI%Jp+#=3MhlhZQn%scMnV=OB*yUGHXT^fI!<;w43YKHDx%@ zdncPl)eCONRh7mmx1Md(9YS^foPAi5AqX-vm4re|1sM|$}0aR>g*D_tb_l22BG zGM#nR>e*V8e;`pAF@aA=wOD8GGr8J*emaU9gkhgk9j}k|U;?E{eR)qc#N!pM2vINu zodtTnCjU%!P1@H^2L zMj7MEB!|cnoL@A8&-+Tt#96#pn}&MvZ^v zEu&a>zA&UrY7dvZc5Qxzz-z;cFk48x2x4Ed$GE+@V-W$ zpj`uN8hD9*9B?IrS65BtiJ-%q$U#9dRyMZy@`Gzjl{QEP(iqFPpfB+8;NpLSo%42e z^#yKZ!_DZ@`9Qumzp}`9byVXc$Q&aW!LTY)-LR@IY7c!-y#;&|(_EInA#Dq{n-NI3 zkHydd`k?NZwju`qY&B~Zp1B+0r+a_q6xBI<3?_4RVg7o;?+BU5I1&(06XQXB`3w1q3 z{YAqp00=W%aNvzYa-6HnMyDfntXgAkWP)Z|LXYlH`T-e`pgsMdcr@Hx=syH-yiEs? z^~*!p*cc03$2T-UEVpyl_C~A3O%!KqTcheJQI#4V-IRh_n*^xd<4S@&v)*GKn8j&n@^}eRbLa`1B*@EOaH2w~p;@o!P+ebZHGZ z2}Z3V`J;kEUG9$4T~eZ+Phdo#(_I9LFSf1~uH8b>Q(~4I3SYZI_z}Xc9fbVbZS2Kq zQ+pPF&M;sltRy=yJA^wPNu@6z4>3Wk>#IDXj%r$w> zT|k7i?fk3PdS~_YRX6+xKAUme9J~r=U&kI$D$IR;!!59zLk|O@LjWbom_rgNMQfK0 zuLDNIZl&h>ttjV%Om>TfMrh7JQto>!M>}Ui1xnJRV}?ATUDZqJ%_Xn@S~NNR##)RC*6?OWu~JaIKUI#0 zYfs_xG~i?n&A*SB@vkbV)YGVn99@EB!I^UrToT~2D#)LU9*lV{0sEIfV6KjLYi3hV z)|u3V+)AwH?oRpUJ4Wx60S%C~A^ze7a&j{x6e=oN3lt2~w=jYA%GVovB=qZDWW|5Z z3`@Zhpt%dra6yS>8=shXcz9OF^%tLFBIF@t(trR2ZCjE}ibK!2M?bgCZN?rOU{r8$ ze-kDvA5gx+Hq?zj3+5poLlersXJBNbCot#Uh`KD3yZZ^4={u5D4=J^n6PZ<>tAz&e zuV-54=#+=tyb{c%**}1*iCq}wr%jEWSp#&JX;Wu=Z#tiFmy>HFXGQCaebzyN{vi5; zU>T?6R&L7AXnV?8M0r3wNRKEK0Xrhwx}1p7exMX*sZzjEhEF*2$F}ynGL3*AGJbI~ z6S9v6nz156n_@$B8*c)f%f{fP{R1zZ8u#SJgB6n&q7-171@lX5b(c_-?W<%MKu0FW zs9PnKE?_`qo0WQ{X^ky$Z$OnXPr8m?<9UNI#;vzI^22>?g%Iv1#z1+g`~cB22GV9k zaC7~0!UoTZfZldh(SN0uV3871E@YA<{*U@)Z*SC6?=$Td(G{J*h8pmhh9xQxiX1RQ zw^oS&l<6j87}01286e%fO4|tAvwv?&S;U;j5lVwaoE2PgTnpxj{p zr1Ef;HTKU^@_Xl69MCeLxRZBl!1`@T_|qKb?=Z{AeKg8-un+P?i9#cSFC%*LbQlsC z4m+Bn)J|P)8lUI^4qK3wU_6GJ3v7j!QUU>DdMm z!$J`_bZE_qG(7%dQ14)O0WJ>|bks(|Js8G@TD8_rmzVL)5i%GE1nt*6+ct7RSYRb+ zcQ5Yu@V8WkO<^%>#B*dg1hQ<%W#hJb=&A0C30D9f^}OL?p7oxvEgA6@R0}DtZFW!s zwX7O$zFK~~O1&zzXA_WiC>^k7b+vYPFcZAU9t2CqWsmZczv-(?`NO)x}m2* zZ{K}KK3sEcFwa^g4aZs!Zg#Y z4q)4yd-~-Fk%hBdn|u!YHAbKFx%AV+9O2SP)uz-o>#ITq{hFCToqJ)f${Ut0*@eC1 z-WyS4J9V^Vell!r^+tRI`tHHufCR@eq)S6;oW+RX`#_GPANf;j`bA3L;u zo?hN|UfLdo(E@rWkXlheGKg;2!RSSHy`elYKyre6eW>;0=c;;c7_-?q3MQy7Y`$RB zEdJh19(HL>g0Wc40up^7eTZVdBOY}8{RYY$hQH^+m`+e5R8loKCq$j)A`a*SzGq5iJqeE%!62Mhi&;)jA9O(4XbDsorejPQaOMF-r=p)>oS6-Xqiks@RyMPfby2Kqkq+P&3XI> z82wE0Vxf(T@BMLQC+gfPC&lVSKQ{24nOS7L06Bg@TJFpo0p)0(dogK9Ndo_d)bY2K zbr+(6o-`E;mhS$llg}?66sHn#QcAS5yxu2%nd??aJED}QhcMZ z8niaO9eG=WaF>Mvn<}B}&Z}L)@Q%dWt+8ORJA;SJl+;`M(OEQETKO>#0w~Us7sQJp z^Eg=sMyFoASf%2X0^Uf<<%831m43yqUG-r>}u#Gb!Hcb>BZR& z=e-7O&a+_uawjH4uaOY-N*DuSDtQnen%{!&Jz~_hX28N|PL;TVrmLN~eV6LPFq-!#jay`K zQf^O|D@MNCXpClAvkB}y@?T)Mevg}k4|V#uuz%WxVt+Zf-Kw!G z#VP4^GrNHGR)#@~O5{H{4@O)iT2HpwQ@jHI1&vEI8F5AG3By;gZx$skO)tpBR@v3Xs6Hn$+HE7Z-!|U=Oi0>idRYtphBU}(8_ftE*dO7_ z**W*T6K-T}t^~b7$_Cck)T~&V>S$vHBW&5B9i^klv>)!)+FwlpTvgePd>m8$IvTEf zuZw#g9-TZC*yfb4g~J(CG_f+6e_W6~fxj04Y#`(b`hC~ODZUNTCV1&n#ej*NFwT(- z27jkqNLl$bJh;8vLHZT&y93*9E2!_V{cU9kDWW_)6^NAE4Mv3+9nfMLb+Rj?(tboR zC@TP3$nN3_qSzv$^?!*-1kw&^L2fquzycnIOF}bscwv&Jik9*jpF#9N1T?1{%$}>_ zNaN^3@QR`G>e>wc^`K~Up=u!^EtZvJR!tc9s#eV?q$7P$MG~4mxImc^O zjJ42B3b_X7(+QEUsMVWNeK2>!U0`;8t${z{3mcObpm{XrfY|B?b<-l+(gS0ET6WtpXZbE_~ z{>Dt-6Ki&fQP*28UWA=fJjy!Xj?<2*IoX|BgJ4JJp3Q$CBlTMuu+*Ar!>8b{Qw5KjNcN*nX3EOu$n&YUTsB2Yj4krkYE^13XTVK z$*4dz1qo*Vm0H5eL7Uak-)Y2Wi=zc%SS5=FGJh?u7B=fV8S5{_ZDkoB-r#QO@;S5G z<<@fs-HXW+PK*llb{g=-i?>Zl5epc%2#g4N230D>weZr0nVb0u15rsgf#1fId+l;S z3}#h??d_73%qewv?3_%}=*tgB2n$~DZRxMr9e2xxqHCrzpzK9xkN_BP(A99xT;G~5#QOn1u8HnHQ_QgQ zD!!q;BlWB#);#29vZW!4`L$0TMamDGy^o;I?8VKOG@ASwH!M~(i8wm~aZa1S&Pk5N zFg%L+b08(jwkE~4>{*IdHl;hJDXja0AD67D9?-*DrG2Cb7tGMK2Fw3^ImBffvr1Pd zR`;@YYR>$&_dAv#JZ)U;UjE#|;-|k|FVHS-=NsgEM2bT!7D~>+b|}TAr?e!v=f1CfJFkI_6uYmdNFel`ra>Ipz(olOd_J?WKH3#gzm~!K0?RcGnEcPo*H<= zXbjnhKr-CkM3Ouj@DB`R67h~$BOr>nj55$FC6Zd)pmx*lW0lk~dS?hnoO1bzYooe8 zo!ZBNmfVx%KC_zcu|(m{$lZ0NLhe)lv~eY$2R|ahOLujuN90H%ij2r^T6IF%)K(@ zx?Qm8MueCokbG2l^77%u$i3XaSoWXMFf5B%yjVEgv7FM0-pFxYV|t*?m{~j{jmwSn zSbdxk3;5pP0ei}tRl8~}8hJwA_ajA)8oQ&7?w%)%4e@UiIZOF^vb6P*WegEDKLq_e z#bwJ;)H?Wns+1BmfA~D!3Ili%JO%UFNYN=n&I^<}lzyF?*golTQ+tUYsj`nQ~RF?a3))M}@0qZ3!y z$@qq3fc!HH`0!mw2zFxraP^UGqNFsRz0YCO zxe6cJVjjfFXJ1pi3-p9nL{g#SW8oqA))k>W)9%2ou3S9rQjUCW5b=VZ3@^#W$k4xZ zRv~UToWy)x)aFdx=F)eXj6v*^Ht)nwsC092O-ksN9fBds-S-R^^F#8*oP0ljiwe%% zg1x;$kiB|>H8cQSK&}o-n1)V_Ac2{CVW-sH;*paSd^mx+WPy`0DcYb-@jJ#BaUAzB znY%lN?;&e0`&xXW*!{a7t5Z((2xPL_=stA>0N3AS?iDre7NPxumlSN6D zo`)V&i&^pl4!bQJ@(k+4r&cV{s_2>hExH1A*t|DhtoK?1cG$f;UM_cALU!oA-(N2G z{`&6ld)v?8(C1cwt&+s(hXt(n z3|05PdE{@V_}J&C|4G29|42Yo7L5I00xBO)ILMt|Y1I4wlE8Z4bEN50esH0wLWrr2 zK$6`MA!#u_*(O}9eG>9?EBM7lG|$~op$Xsi^m15r!`WhL3(Nj*G71_C%Y6vifXb?( zbx!Au^e;j5fb_1+ZdoQ!!U&w{Rkj)`RuDNSJ%#_8M9P;xgiEYt^RGptQ4 za(6NbJO`{HCQ1I8tkG=Kk1~$b2UfNg$}H2*GAzj}Itp@CyP4N5bSx!a#cOHy`(}nP z*d^XQ3~w`>?<`Z%k@o};Ixr5|PjF+#AZg@2;_SZu$(66=RB>_G#`|K}YeMAgv0+3H ztSZd6V5t#QGR?E7z-ER}d=BW*02d|tXktj$Fpcg5GZTle&hkY z6yR%2Oq`7}U3EWo8|lY_ED6@EqqMW+6T;fz68UUaA(|4|bI;>kJ4~!Fj>9CC7n%27 z5=3Tv{reB>X^o8L>rj@mQ!uwd#ix1+xFXUJRm$_a(y>fMSc^C!>y~Q{{}KNm0)3q- z0Y?o=HL)IyEfU^16qZQuE&>uzo;om(2F(`c{W148l>A550_I5ACIQPjygFUfe1V!= zI75}`b`9+s@)xT_WwoUDI?Cn#G+KZr@tA~`Av9&5^UwAZOE=X_u3;?gSStxwLuq3j zyVFdkmc469{?#Z6u`&;{M5?F6K-rC;K)$g~uWjI)TbSQOT6G|ASvlSf*1vn^1+?qu=@y6VmB{(Ri+?r)L@n+nb6*$Bh(W(`}c1v^aOGxm}jfQNZqP^Mu zwXar&({jN$h%3d$JI`^~8*+tx%T9$;L{s%PY@v|bB5~-r%ub#F)P*if29g}V z;fEpc8Ai+)GX3&XcbX@u7N%B%LH!I3vgsh>%9mheH0%cyox4b*qF0oPk&gdXG!&i3 zGa(ZvosGLBAr3SEZVF9`F+l`9Zja9YBZ4O~ z%#{=kZB_pPA|32cp9wwW5DkrumTdz*!uau=e(}fi>cvoX%+^do!$&)Kp+UifEFwdl zU26Y7hL53n&V#~8$cQV`V4aFea{eI1`}L?ormK^9tHK6K#`-itQ*nND z=*5;;=3b{bD_G`!r|v$3pM73*#1J(3=4_Gn2LIG$GGP~OnCj?f3x`Vm1t$xs!j&S^ zkcKoyQ^VA>F_?Kd&5@_gHwFmvt)tb+iE&_=EJax{*1w7JnO35~95P}r;8{sM-b2+y zX>o7ELz_ZMMF-L7MahU!j&KHbYiR1l0+U>tzyy&NiHW4dL?;51)kIhQtINu9w0V*1 zFp!c$Q@KMbK#48mOl`0Rb?f)+25=p z#bbJIWGReq-d&BLyup1SWUSSFLd;}{Df+8+M-vuBx)ozd)Lc$@%+)}EIwZ!^htVR)Fz>Yb1re8%b?*M ziandX&V5Oek|!7Cy^P%V?^@J5Ofh~IJ;uRpNy+?=7d>FSWA_nQZpV4 zS@qx9HifR}XckIZT^nF`JttH~}G63bn1r|6o+xYT=479kG+S zEKoF#Wy_|`7iXHkt*{S~DfKo}fv0Ka(y^1vZDRliM>Y-(ileQS;+edxGBzjC7?2bK zY%uo!D9j6T!n?zS_IMKm`>n`BlJZoobxcw^VDnMdF5dEZF3vkSf>02EIaB4?O z&Gh3LIvabIMy4*3Z|rwhIDr3F`-MpGUsl4MQPO0-$I5LP=N4l0bx|Q=VIczMs`uMS z#=@=19jD&G3NL@5L)h=!f{LK*0hOQrz?>d^SUhh8__L`-2qD-L!FhJL6BJ(N_Ncrg zAihIKT+QC*!r4`m*}`Fh<)9`u2;*-4ITJu&UkRso7%fq3{!8}MnB6lgJ1_p4Fhr4> zuJ`87SH8yg%6SpTGRL$3`rZDdrtsK+?(Xt){9qES1jJ?cK$E!I2N&2W14)9*8AYF& z3T-RA?p_5Stp_6J51ud-@5TG^m?so z%zfA(dTy=vC24{Fgn@l zMeV>8bF!{DKT^`baahi@(U;qzs^BJ{w6KnNb3FO@cRdJRpZI->QwG{P*;Oo{vY{el zkf=PziCq6~WRL#Qb&^^KLSN)kr+)>J%OsAp%gbRv5Jx2PguT)|^m{-SKS9_`OI^ICM5!zGYfVf9#RtIv{8E88j(mSk`-z-b!GPO(UpPi4^K8LD=t-9jzX6L5&)W{e|u9`=sZcLdO=`D?y9o zby?XKrCmmTEseG@I<`B5%P0KYQ>jZ--kps`Gn`TJ7w(TePkM%#yS_;3@K3p5fL#li z9z8ol-atJtiN=4s97ZzMDe{K-Q@KN*lpjIIDG?yKiD{(u(*cqqY$8+J2I^g1srK2N zca+NJdivUkV_jbhdBj@)K}A>DfZ^Vdu8O;N^ zyjqP0#t{7_9(vNu_nl2HzU+5ox%b*q-l!o4HUWXXX zo)Q_PWx{u_6LSnQ@#TyU3h|WOaabUMe7q0m^Twr^qCD^@mP>_(P+pd9n6kw zYJVRlxeXIYvRMWEI%B3v&jZKxG{bKy&v5pLX8Kzc7yDo}v}p<@ta0m$0H;@!i&Xl4 zYGp5|Wi7Am7FsGs2y$2+z6rO#-EC3NCA;cuP;gh}3bq2%yB6do6MfJzn}>T^HxOB^ z_@1#ZvmQvWctI%WY71frw46u+R#QUVtzTAS&bVaM+FpQ`+ zLtkAaM5E(6l%I6RO(x8A-F~w0gIrdcb%N)pWk%l^595affB4~rUiP0I96@D2(jpUI zU2bq4{x0?CBXah^V*r8PKdz9SEs$L6ZHN#wcf?0P<~fYl!?4mE54bLUztPW}4^UeP>0+ z7MQ32-08YbbAUm3fD$@p=VI&QYPdF<;EQZxIDy&{fb$uk3LW zl4{0EU$)lj4$_7N2Zb>D&CjZ%_mo?Gu_tWUQH|005Tp5ar2r#e;Hwl1Y@k`IB~e&} zO*`LKAh`|UYTxNq>(%Pjw=zbgSTS`d{(=!>z z!Uac8kdc=4hr#;z4Uh1vSw%L+o|-pgcJ;MshHKCPXC>8hbilt|un%z05l9_N6BoqR zqQW2vi9{P|8o+8#$F0V}_HkVeX9&gXoYnKi{D-TCrF>=69@oRyr4elm&p7the&38n z(B|6LVhTQ9))u_A6oL44L*+sdP!B*ZS#|s0vI+vGv6}Ms_Et?r=aR`<;~mFY>A&I*iKL6DtNNB3pPIj;83rBCjowe15e{fG)ii#0bJLJ$B0 z7H^>pAKnIP>z0tSv2EqZy|~N#mcK_*w;E{IqJ*m_hOQ2=&Wme}AEJPygJ+$8hkt8( z!yB|EZ=;5h<%!G4^RDX-I%RB&E=%bRtoe0oUo?7y`xh(FJf*zwXkqREbT&@w$!QYk ziN$a0ioRkU^k6(Nw5W+0W!kul2mZqgJ-K0vY z;%r6Pk(qZO5fPjrxPjD#msipdav*}#g`HQkMCT1(dMD}e49x5K!K9H5Pr&_Yt^Y8?BJHoifljS@hFBTxw{%Z99+0Jo zGVgXVgS>on!HTEcLCzpzZQfDks6E-e0nkz&pr2z$I=YtAGezr(k5!GWn{(?9sn2k! z&1=K-K=+@3JIO??7fVw_{?wL9L-o=&9ippSD5CU$9$^1p?lfa*2$u4xzM7vl{2`K{ zX@2B<_#hbs{GB+JM~0ddsf~~jPMu*x`*J3;WJOyM)pw>UtT@D zrfeRZ;0%k?T(cfF#hn6fRR{SPn?sKV9<#p^8976%aNMDgRDYYm&7&ZyjtoBg`6`vH z(~L-JBhFwS$7sss=c%^0kDi$At_*nQ>~NWc7|=(<_fvu%PW^?KKA~-@gbM(={HbuL zU0~Va12ZmLZHd=EO>W<3%1Vn^Ud1#huVTqDT%CMV!U+Qg&Hr43!hd$K>%UFI+jS+A zxbC8aHWQVBf$VwLFTGzhEc=JfO)46QvN|+r&s$wpXEf+&)MWI0x_2cHDqA?IT>Y!2 z`};ZkL2T`W+0Jcw?ZaO8QF8gnXQN`?&L7a$?7Mi8q?JT$BUv&2(g9drwpJ0~e35IJ z@Js+fE$Y-DKm!3BVky-t#`@Wz<;TV)OR`moceTFhCfbLLPy!Qcr$J^M%J@VPq^ASQyN zPgZo)Hq)`9y)2LQbGROSgJGw7On_a}b^lf!-;`w8F|kPuG0bXv%uoAc#f#c_^UiQx z@THeVBEoo1y((H;qi}w7Tw=OCkhap@={Zm^cT;T%`X-tdmkK>{h_+3DU~2m;emdn+IGO~PRjE`aBNQio{NcXg^7zJ4{CMh7X<_G{R2UW zt-A<%$ufnlp+=_e$?cFe`vTH!&&$h=k6?m9OqjKP4A|JO(5l13f##u#%Dt#9iyG>h zmSxlZgUX;-<mQ@IWjW`8u%-KthV~pxQepQrG@LubOLEZ*utj7&dvdKIq7G`>Iz_-1t+Mp(pY>pL`zu#0% zk11~^!S8QNlUXdD{BpR23$j$@8h$E)+H7+LJE%Bw1zs(UFqD7cIEf~RfP>qLb823} z$l8@wmh7}Y8GQZBTfs~Hbe)S~&HFN3J9eCP<@;$I0zxid!9}&Hg$tYmQh|R49NfJ@ zoMPM{jBJm#-oj!q-)c{jh^GtZUrH5*+^>kHtq>S>I9O}MSvoza9ow1iqV*+5PKJMT zxWjnhYOKU=?j)^RT8m@;x_i2OgL5v##sb;=cZ!|ai^aa14|6h5!5Nfww0}wf`OKw` zT-_3NWQEH_{E9!v4gQuWUrxb`crxsF)1ZOyuLBAGD{I( zUg4n6#347$_MnqJiQVoLPTDo|rElEs9qZ(7%OCRU7P;+YFG%-~>f^(9meHZr0YDxY z$CQx^<#zZ&j7@f!vsm?r_PD?c?@6oU%fGgavAGV9T>irk>xS@p6|F<{Z0u=lS&V7{ z8sN~`$Xb_<;cagY*eK_!^#l>t}M*V;gac^NYZRB+h><|B@ z&kgar(~dFh`w&aVnFXqqKcj=nGBN|-+8pvp9laPh%$>pGN=gZ%59I~1rYV^3BDta% z*}zPCPGZ$e|7#L$-i2Q~)1ZV?bM1mZ-SQ{p-($`VI@+_;lo;QRRdqt#nZE{AzLKH_ zw}H>UXPPM#s_T{;XQ*%ug*t(>^-Ekgd}Md@`l|RnNf%w`Yb5FL#?<&#`AM&CRxC#0 zymKW)wgv}i)>0=+0IwTEVA8kS(A9^##A67wnRS{o!xCn#>i*}XJdjR-T#rzxm;A~6 z+5`PfNm(Cgx7f*M+U5iJsGww!eyvJDV^SN{b8BO#b_hF$t!{?)6Z+7#h7x{jGp)%Y zz9$qn2j#F~+Us(Tw);$+=$m6)aA>J`FPKnw4MvFH%;|ESX*a)4@?I-qA%LyX6cPOv zknq0w3a1HCJj}r`T>*fyHVl5yfTvx4FVA4rUNuLYkeIev_}0sSjo+{YVM6(aLyXBc z?IFw%hyZ-|#*97qdBhUj^S^hp*2M zg4f!{`g9v2!rTto15^@{uU0<1+XMrcCsbF)aqKr(JfYSE8&uaJrBk`(d~GGyLCAMs z1c82VBv&eUZXc^YBM2uoU+)bm0=F+^2Xv9@gq8QRfbT5sJby4{ey6kkp6{&%JuZNd zQ+Utqj^0O#dfiu(D=w}&=yl-<_&Z85vH-N!>Ng-aM%*QR&$U=!5@$-2!e*ARu_5n0 z1c;nFk)tw;Bkl%K{?vhW8fxOObV=NWfR0|=5F*yjkM>(3u8h=?KsOqhF9=hkSVO3| zOq(ocUXkCP)1?s4keLbyI}q%Ums+4dD@`#FkM53^5sny0SXv)%SM+s`RR9u9Hzq)q zYu$I<6_Vj>2B4}&@HI6C~Mzw4G)I_n`s`bLU6Jn+xBPbY(gg~x99}2}AO$M%$>6YlARG0|* z0AzX*cjle#G{ zk*U8JOv(2;il=CzUVTbnFWJOelM>zka%qffQ>%xqvJ%XH?g>nAa^llzf(V)s4$N|Do)H)h&}P54y2%At=g>>#bXPu{J`++^$|bW|2YuWT z9eqU2xy!ShNtX!GbY8bA2JAWW)Mwc${er*+RIibr9E*P^zq+Nb1>YE~178RXzIT4c zEmy%eG{QFs?qJ}1WQj{9=n<+$+dZbRdD;$D2G>YWv3YmuUpIHHyHWCSt zRjESe5Dbj8V}4Bcz4T|gd}>G;LaG9H;@O9a5aAwxJ);CQIu<{hT2B8BwyoH6jNsf_ z_pBYIV!bvp|C`mzpa|oA)l~7SU;9w%$v9jk_eNT&=oFAeeZTM8&qpsze1DO~n-rl7%aFDp8Fms(>Y6#0E67X6{;NFPiQT7&M(5zD46QseDE>*`DQnKx#rbY2A=ShUrS%1gM8OcCWC8`p zGcyOzJ)u>%n3Y9CU%7Qk$8MHD>er2qgcP#5A+xu{nSWR~J^?bmcn|f9Ro(Ya5{;4? zf}r7QWuH&rVN~EIpxE)5_!DH(fW;G}2SRl7dckv{QMDl0wyNg|Uv42{+NYn7PV+ib%?NkVm@$f=u+$ChIQs6Zvvsp1@@x*IgI8L@M>qYgyBQyu zuNCf!(C%;jARhy@{h^HHu{km%i5WX-%?#;jk;cIsUUc37Y8oeFj@s*4K)-jo-qxx0*j zgV(&>TJ*Uvez;ZAP=~K~j_)Bn)$U#@;S~B09yC0u5PuOn&?#_dp(uZm8&b15K6%ML zgZrBti9RBR6BFwiET}GR)J#@V2kzBRfE!isn z0B@d}qTL%Z&oX}!sC9NN(cvFk>`ep;eREpnyNt8v)SR9T=NYaGcPrGKokP;-c>QKS zmSA4gVGt4)=aa#~Lx#2``|^UGjVL)q;e`73xT9incNGHs{Y9Ls^LB531tnDeq{l|L zVD~0Wv0}Ft`n4Mdf#TK~4UhhrPVJ}iuu{p6l;sZ{c!>3~GzPw9_@nsMF#bL!r@e-;-pRaiPt~zM6MpnhY&nu zwlmp(V9fk?L4$DL9&bI0UeT@{7gXkm@B}(u9Obr7-*0u7%~LL$2Rsh}Tb0BAZ{iNIy{i8H zV(M)B@KDnNUXqw>Au58!>LM?bvyWzay@|{nJ|SB-At~U>2(!Rp!1$`)cOdQc>-GbS zrDtm8YDLXj9~>xMxu}doIi-SQ(S~4k7UB=bgTe0(15|%0s0~fU4g;bEn^l11Iy|gY zhk-w06D|hxWv~GeR}R}{u)mrm$KpDQAJ}EE;qQ*QWH1Cw1_?Va5&zkf8Tsj$0q)14 zP`piL{E-8k?k}=txytS2-jd0I6raD{(_tcft}!Z%z8-;+7%t)?Kw0n|bjj}|o|M5q z5Ge~?plC-Pt32}bo<_HqVzZ&S1K`iD<8Q0CCtx9{q|hNF2Jhcio`I@PFYK?=_q^uQ zK2X-j?`yq$cgAvDJ3kvGkT~IY763q#@{@>Jot?RXM1BIZPF zbIrRp>Hy=2n^xYMyQ@Y9EBY*(V_C^)MhAr_ zI!`j;EdRj4*9m3Y0WqJzhI5j20t!OTN?$hL#3C zlBKATb{qeP?TipHlF1X3{~b$zJN{%j6NqlhJ)Nf!TR@XzRtkwz&c`+1ZU!r~&it1{!vDOa_J3gWEvO z(R9}sj)jKs57UzbTi)HM2n~ssRHRHHHQ=7LH3BZkjFl!am-Q=!04DK<;h}PE#3KNq zAd?kN$09S7zMw&_;_+P&mJoh*g%wUt*47e6ts9|!0>jrdx8ehimt7=7vBG!})$bEMZV`b86)&x)*Gw-)I*43_xHC8wsYA(Qv7 zHnV6E3L~)pk6D>wdbs}E9QVm*I!hN?WlNYXJtmaBR(W`8{AZ27)FWPVK(3bu`~m@R?GOT2EEq>4 zUXr3CUVbJ?(eHyC;RpOmh*jKIG!2qu8Y$x=UP(5^!P6@|SB`?;cOzcIrt=5 zsy}5FBu3mW6S`!-x^I0+flg7AzIP6ozH+Gv8NCZDQqctD_ z64ChagL}w{JLrI41wH1yazFimACnGNET}!@XUXQX@t(t0f0og&oO#V;#LFf?$Gm$AS94#n47&{3>mj{Y zfa#urKZcV(S8-l77|`gv{s;}pgpYU?&qw@tPBv{{U0rRvz#EH~g!hbH{n0v8N{;ue zQMp{amfm>RI>XLR&qrPVuXQG|t>_kZ#LM6WJ^CGlJKnK$-ahBPIepwB<{j|yw7q;I)x#58R9c`J_v!L8CYo9f2nZ*{N+;GX~y_6ef5mt2H)C4uk z4PWw?+cK|KZivONr`&Lf@;6d$cx@lUmRU#gwYJQuawF_8*SoOo+vWvHXyjV-guAg3Q%Un`!bbBIzb#0kT%8j)zY>U8aZJE{l zl^3?(+m_k5>N?7eHEo%TyL7&XQ1=q$hL+V-xgla-X3OlfwuUXUwYFZlVOPRZtbUja z+wJT(Rc@4QnM=wIXKiaMH{Q{fxvJb)-=m}mW#xu& z6_p!`1?7eSy{mHLdbZ3TLAkNqmN`{!tgvOi>cY0`*4I;R)Lqy%gXQnJxK&G9nt{`;sngq(L$aeP$! zjsIU&9Q~H2$ij8)1^bPl;;^Ho!hU0kiX&XtzRG?hsyNoP-w4;W4PJ6x+YTN+m`^&B zrmmslxUT(1Ma6NY{YF*AQMKQ2pL7fM8?NH8cD!SQn>5YoxO8bqEqT*Q3e&Y%iNBO#T*(cpf`;Cf+qoyd(pebW6#_8VfuYp6I@Ue_+EID9r;(|+T+Dvl3r zzahJ#cT{m)*M6hVN|#^PzS1Y%+A5CsvfucJt2o}pe&bpyj^#e--obuj-Rs&_`weTv z+A5C3exuva8O=3R91Hdv2I3>AI6_N4jEdv^)f<)TDPrOOc=bkCp6CDN)f?6gBM}P+ z^@hc2EI2d(P;Y1kLA_yu+|uhQ(Sl>i^%Ubi%e~S06kM*}P#o$FlQ9GHE7TkM4)uoM zLA{~)kHM!(@D7)%H{5yrD)mO;L_S^}Q z)f*OHuHG;Rx}M@YOjB3bLi0dh~$X@q)N=3b4HxkxUZ@9AHO7(`V&M6Ir z>nTPI?|nVRCHd5&c2sW|f!AG6aUY;7uBVjL8#aR1yPk3l^~Un+DZZw1cT_z2fi>eL(8zn%j2 zcYgSL;BYUW&#v!kAAY6=@>`NOhl8%xjb;NuOKbVW%G+?-qK#$;-dq&OvVl8$L9maY z%4S*5U5X(HfEEHgxw*=-R`79@wTFG#hvZpjIIsmP>mr{7_^eSR_8{b1#(roPtG2?; z#<1VkSxFNPv$~SpnoWePC#X)sN#1N@93}fS(F3_A%bQ(amhxr~@YJj(deTuH-Qen^ z2O1XKzPsYi2Y{+T)<9>iPP9nAT=G@}Az`+K7I_FQGNiOx2&wiKP-+#lI>Ww<1oKwc zJqG11w8-$>>Z6D1Lu(Mew$W=tR67f0+fAe?UmK(5`A~<6l5OPLHk9tpD@^h1J3-XUhyj}H5xd>!<|FxEjG4Pm2$I&@N$ce?OwWBE`=L#^tdAG+t6 zchC<#B#?KBD?#ZJR~AAY2Cv%!6boVW1}fX_AkFfjABOQRab@|?4|D9)C2^|W9_vtT zJ=Ec8z*SHAdgzDIN)P>T`e`sx!5+Hggweov3-&NdhJ{`)hETJOb&r%FocHNaPig(; zF!N9g^G$uAmC(JtqENa74kHMlgO!gQoYQuEz z`)Fdm_iaXGnC2iQ8(B>BwmGWHKxjQPM#?bh2Tf=EXj(|cYLR&mYedti3oKyJ^wdEN zf(e+jUj$LJ&HapQAY>rV^rm68@*sG^z@}6NPGC0%5#%!EYf}&2fE*b3Ti=6Va4qW) zre_HD(FUIanB5@=CgH3NSNcOR1HRBI>2mWoJjn@-69^(7} z;?nRflvEINcDv2N_QA-)cR@GX`}z4Fba1fS={C1td-!g<*}dcej+YNtaIXmlE;dV0 ziie4=3#g_!?+I)tzLyls_p*LbzS&62^HV4fMXVZAepotb$GUJ@%?g~wF1=Ti-W{B` ztn6GaqPgEnfMh9HS+zE z(>rgELh|ltdptv?^W(>peQAMakKvPfcfNgsxMj(=aoVapv)$?C=G*!4c(wxwh!0=9 zyeGgL1cy??x?=&`do1esltc!&0{bA!C+#=s${t?2X z`_p@)t*yQunm|uePeRC zkpSL&d$u*inWXx6wmsjx2O3hh@6EP`(@ISQ4__}Yp}#*Faor8{Hb-}I$9;;Hd-MDGy*Y?5`SfD`k_P|; zfFPj7*?WFmp1JVcj1%VF(eMmsf!lB>4UeF^7*WQc(m0>YfScKFu9PrYt7&Qa(ZSC%%@?_2{Lt~jPDK~Vh&)fp51Q* z8qCQkh?sl#0?6t1_~r0ns63q|0V>ARCdgP5@OO7w&D&#~t>#Cw%}r?Y@}GSqH?PI_#CM}zoV0+WcHwrfM|ET-crAU%2J)6-= ze^+_~NSkFyG84#zqNs!f>#nZaDQWtmrl!YiDY`ok9*;@2a%OAj(?%(2DZYT3qw~zTgHljVxZm@mqIj%<)J6mV-w7uQ*Ag&{> z80DM*^+u5Bux=xc9yL039e?t0mo@Pj$-_O?EI!-^TXR-E|JvIz?9PeF?Tu#TwBT%w z>NGl9i=!=+>}m;zTqxOd?*Mqxl706MOTqvRSY?2INn{^Sa~K2RMTIjyZw>1k0QIm$ zmG!b4t><9LzAl9$!GZ*ympQBuMic1Uuu9F__!el-#uPpE;1WMGu#rYdiD<_Ws!Tg4 zjbp$&vd1JGyK~o}tKi@?uGO2DV6mCGb7Jbw2_B#$&;lczl_Me83_%Ip*m=$k+URu- za2zQe<+1$qG;6ib8g0;+RWE3@nNT$GXpG z;P`MFdfI14xejV7sAhj{>ONr<*K0ITbNYR6zd)r*+x5^y*1#6Fuj_LttUAU;^OAoS zfes(I(sPg>7ZLgE1}y`2L&;CGGmZ}jYsD1fJ5c%Hq5-R`wb60bZDj{z9n(eqL2x79 zWm(-n7L<91R}z$=(;nU>xo~=Z29g>}f8J;u^tEUVN)R6aT9_k$>gabrF?!MsI(nS> zh0(LD?jJuk`ta^Tui9&)`#tt8)Q|t1aj%c-1Af&Yun4w`-OgR4J9nJ!+)Hv2T-gJz z>_bfEM4K|&h=X(^&Jw~z!K$;7Y)wa_cl6MVU$-Lg2_#@+dVCt4e};1JNT@01aP)1o zf3g2?5=Wor>WmI2@xCrrI~|>Y6__Si3eSx16SSGVpRG??K&Sap=h?GkE>Sl>+Fo13 zviI7+ve>&()me*dR&~{^H}i9xkV~E_0vCjBHsYU&+hAZ-nt3ukF?ryoC)(GT(5!MY zhKF0P$+bR1AnjQ*-|?Cf=S-K%aK zc8hW3y~~4%-r<0h^Vy+x(C|8)EvzV)xKO+d%x!l&da$a--4d>^i6ynmSW3Ze%Z&*+ zX(V$+Cl3WMn$-R91(D&5jFBN=(S2_jFXHs$_L+F(J}Wi`oaGSUDiJsss+7KB1XQ|u&oVE-&G_g(Bk-*P{Z{R-y8DKy%v<#y zoMIBE_@Kg01KXPtX{GWau@*D5)ij&1{BK|=4l1~rO)nNqjnfA0@2)#w0AOP?nVok> zDPo^E3d=~fNSGuII_l21>PS1^v||gj{obg8K$|QR19(g**e4=n^ptd{Jb4V(fUCNz zD6=VO0tcrscS3c5AWY6$i1kv=LeYm+3%yyrsGkSvXY_rqt*?}OP{J&}g^a4yeq76e zFRKwYg_c8`h8oi`8T>jZ7uuk@Ch$f&cAca^Q+1a2QhK-W0Bl$KU{71$f8Y}IMKC02 z;TZ|HM+s|GeuP2>Mj{t)+w~ONRXE9X3plVJ#b7^)z>!l4-K`zd><=jm?4 zNE&^|ZDf8{*dltyFDG*BLp#wcDx2{GJnFT$8d||WJ?ue)U3l23tlE*P_xCc6dbij( zsE}gII1kG$7we%})N{>x@ku51@~`rFp$AYQ{|~-1ZC`ow^l(?nU|QmY00H<69SItW zUQ=ulKPbx^{Mf4n4SvXmQYwa6Y@s;JxCw_3LOVc2%bO7_Rcu8Ol5O_V$Nhgp8!e#- zK%JPrdqu$BFBSy~6r}gEqoe&bzz-CF^G5qjKrSo41!Y0uti?^ey^(JsJ-`hksB}b_s#3N=eUQF=>>?oC?BO z@9XzJ!SiafFLvMSJYc{wC=EfZjbxMk%WvSzbT!k3Q-ZP$T0+^UgZ1qDVf`qBav(bd zLg6=gSx&YwH}rM~M1KLXdlRrdy~QCR_a~R5^Lcl^F>FCZGS3wZ-67#e?4`!hxWV1p z$Uh8kXE@xTaF`**^H|idX4tp#?*5~r(=~5snBYw%q@tB z(+qqo2&P7FJ$F2}=;@A*j<%gl0n?@JEQ$v%n50Kq4RE$-UXo|d>kl=o*ASr78}jVy zDJTKJ_ntl5AtkUl-PUzy8dnb}P{A!uZG$8QKrxF`KzykH$YpVApq~`%)OB3C8yC%8 z6826wRRLt8tB65l+HCI?+SqFjU^aTtbV9&Uv}6g)>+-wS8XvJa+P}5`8BX+{6J(sgiw74NQ;HTn;|_kz$4JtalH*y zs@2c|J?mCi>;PzzihD~cwgFa2#pg>aj?;?!ODgUGG?R+$Z9i*|OcEH%;`E3<^K^EW z)U!?!boG-4Uc)*3FEE*ya)6QC{|Cn^-i z`Jx)Ga41D^RR-)bR4v63|1t<9LaF|mog#GXZ0`s3_Q)=AGWO!IK;(TA!Hu_I9G3Pe zEB&cHE0BXDB&)Cnf-N?{N2SSUb2~XaC|pcvE?d{)nq_z>A1ZIV+gR1hslQtViT;8ZCYuskoHpgcSXFt zCId1*wRgX5OdIchi(gSh=4MMIy!I60hTXm6X$zhsFS^qn@1JcSgMHpupSF;Y-<{13 zcu{nvboaRBil4RXEiG=b7+g1KV?D|b4?DZ}>4WxO;lciWxGhZ?ZOq&u@KBie0zp!O zK2fwBIRhF%q1O}udjt&?w9d{xQZ-SbA*y-M$X8-YN}0eB`gorw{B2c{Cn zA2<0y#@XJ%r;j|y#{AysuH+?D##_pF^GX@+VoTugif?XiZjy5|ld5<-fKfC-R6H4= z#%vzikpN*d``z&7i_yghyd!rdMuR=9hnL zbQ$0rot z?SR0Ht7Ah}u#n(eof?MV;567XNRehKD9mKLuf`*;*PU%MD@#L}N^kJ~+FD!}GG~&x z2X$6NJE#zjEzv3gf2=E`hR{Cw75O%D$@ucDF6{s0G^c=S`2Ccih^RTX0UFa36uoVP zDJB5?^@nHzp(S=?(`S=xd<)m%R}*rkgWl?@DaQa>n13hJnhbB|9M3upg|mU8JSSCh zrqpj4av>sfisr2jc}7(+50s1n!sqw*wKIxnc<~??M))GQ15uhx(d#ih_}5Wo8z152 z`(a2G2HvhKs~t6i%>_j~U*^nz^3Cmgze;=)@)Ujf^E@99GgP!a?uAW-c8=TK?T0Xt z4kIY1BVn1O#2ql4ez$=!?bq_ zG&J|f+Vo|^dYdZd`Py20hriUlpsgUbg_9v)!$X*GIZbzpbj)rU#wkTmL*0NwQO^uN zeFgW?m7At6s=cgNs~rsTI~a>q*Q)6D<0S-f>vPe&6vrx0q9M5kf~duWx>~Ap zcRcKdgK!tgtxy3(3p928`DEfwaK*zS*)FttK@G}CqSm6xsVM~#)%~US4l>KV29z=bCPA<<9iPIO4j7*^3y6E!wl{j- z51`aKv-9gB`wPuaX)^o1Z5(}Qu2pKx6I`PK#VX6C-P7>ckA)^P;(<&UmS5T&J$ zSRwMUO7?}~t}T+O5d$i5#!d8ny1s-N213JOTMWcIAaED869SSg+Vc63HK`32*A>Xm zp8+<{p_PB#X*PuTH<@Oe&Zs=2WOo|R+~?!P@Vg9uFn#ji>-pty%BSwZ>+EVYzAZmV zDi)_MIe;Zh3<(^X?|EX!*lJtA`S9vw0xvo1!rgyY>n@u%5G%|2OBx>h?vK9F!FRa+ z^*Hx}8&@E>8Dbp4Bll77~!n`_ul zfW%ZU;$PU({rx85&_>O@&JlZ696q1ckS8hB)=ZZF&h5>)T8#i(gK_sJ)Kj5t3j%+! z7xhxqCKRem=su-^bJSKY@_rx;ZzrnG5l>pYK3e3 zZL%j^^5@~8#=tZXPH^vxjwhl8vO@_WLT6lX`WdDLf}YIT5UTUh7zPHfI1wV)44h7( z2pV&kHGB>F0o(eh)m~fsIUfyHgr(9^(!C5Dn0)B@2;FhgaDPZ{0ikX67Jd54m>anc zB8N$QdYhXF4sQ_?q-SS|@Qu$-dPyuhJIT!{08Qqwxtoq|95RT`iy|^O_myGk76Y|S zj%&hjVbrTAYdF_i-@kh|X#8et6Zn=IbC7_+oF2-$Kng=K>111lqac{557jKP{FULv zP$IHM@Zcqmi$|FSqeDp{$~zIeu;iGjW>TClV$=yyxbZ;Y@q<~RF~)$KMlmEP0v_Z= z$-bY=KmR=Ui)M1(szp;DXEm(6%5K&tV5*z&M8f`KRIRvlG(jn3kgO736*LG2ZuKaDG^(paV5I5B%}8H8MMH3QSC22VQo91##;sk6>Smv*vWx$Y|jY-TT== z9gEC0f^3HdhV+26x3QBFGCE>}WBD)a8_cEwL7pcA;1wMgO!s5)2Pd^k_@RuyGfrqn zCLtYhdAS}AKPUkKR@w=O7-*#j3*BuX15)XnSmDma9Ei*nDg(Ddd?C`x2_zdLrR3yO zIyr$j#Kh%!&rdtRL=l3Y`^f7PAx5xi@PCI)WV`tSvSls^ECge9=>b&u*mjW=M|^vo zx$y(sbo-Zg+yWEDBC}pt?GcfEtFz&zKz0wL$DG);HD^Q=ZKXS9Gla4-*~1>>ifd7iJpbu-5qv+^>LFH08LfK#ymVQJ8m#D{s z&C$0oF~?Cl5?K}e?Et3GZ@a-$;%=Jrx^{=^xjK@=OWuI zZoP7Uk=G17-OX7x8g!7T`UZ8kItrf#OdbKcC>Fi!u#F&W$A}Wr%?@{Vp6|Ul#)Ecu z2eI$=y$r&6i^KpVkYn-~s+eOVNA>r0o@ipsW}}xjTSla2^!5gV(R&8fK9$ z?13E(Z5Shq1;qpbmk|Z17f_n|0Hf;L{Q8SgAIu=laX-H$6tCBC>X9+7HFsV>&YKi{ zg>bC>Axj{TPD)+_lzGK6nEa(>BJOad7*SICM+xJ@64-+zC7zu@C?0N| zmF>-T8wa30JsHAe1<~5!V>QNUDHH7q#j`rOsC|h@#)~V|fDXtGlN{F<`@#SIv;4*B_A?!vkBYbxtQt#hEF>a`82;sROrnx=C zo6-1vq;RmoxPt~%%{Iky&P+BL>p&WU`NfN-$S8_~((*Y*#3^78Hp{(%HF)kCw1pB# zKaW>XrJlBa`qBkvBogU0V{u+H5#_nNq(TtGh3oHd9VA|QEfOw!EYhuJL9*2>NvP1D z7c#MNisj@NB00r)m>y6k4jW^p7U}X`V6rr(j2tv@Fb&eFNYCl;Xi{#b5W>#F62dt~ zc@urG9-!{~t_2dN z0tx7ZYpSq+9Y?bv+<~Zo;s-{^bs;dQ1fmb4^!Fa}kJD$*cXoH1dppl}!JC7P+ucW+ zwI+guB3$Wp4Fi-YQ;sDdTHz0JBz)knE)XFS#AhG2-_s21_j_0g^YLs( zl=NnDp5u;mAAi)K=esYNXs1s&vL}C}JW6g|XM@p9VjrRnzy;yvJR2kNN&kc5*BUY5 zE7HH{+-O;Q>ab;vhAhJ5ee=cZpJX`lkVoK-yVGcK%^LKm5J_6wSBNG@l0z<$=3{a} zi+0@cfWgmncs0ysiz%;Xw}{4n6@4p3lnirSJ8Rx>{z#W`LL8+RzB=H2d@g-yAQ+Xe z7|p)SC%HtFmb(*#tv>hT*AR81zC9q(pj`kYY}E6dg~UH{^M?siLk*-r%YVlA*$Svw zkUPsUNZH`0#Y~q(hy?DWSQh6Z^#}nQ9@F!H0u)$YB%yq=-sbjpd#g}Y$Rq8$NEpJB z3HxaSQWwgL0({^}5C>r)CWF@o5^voXM#C)@C8PFJ61(lZ836P~^IQK4X0;fVs6caJ zv{hY29c+R+1ye>BH_&{P(H3jtF&({P#YcEsK9ee76&rC1XFrs^k3H4od{|7w?9N%I zCU#a3Y)6&qdcV-_yg#u9PB&-b#9-4P#~E{S>$zS3W&nyny}Y1UW;Aq2e)RUugz(tw z3%>?&&+vi)O+C9dyUdVvNX!DUQLMPuj9GS$)+Xhpdq1LuzYs?gp2uQ2Vum#5s zG4z)R^@fnCCd88+)`g|W@g~KPquD_t;!wW}2*%uvalIH=3a1i92>5Eh|7z zk>DCMhsY3`e`kf04j(uHjneLI>G#)R0(x9~`Q{6Ljxc_;Zq3!Mc`KG^$gu-gG=X2g zef#yNCvaJhuF=XKRS^Ej3S7^ za_sLgDe_x2K9EySTR)EAs0aNVjR^h4A>4drFqFqY-jNOnLh$6l%bLYD=zVIWcu_T^ z_J)XcDT|CDx4RO=yo2E!umMYH*hJx1M3m>KC-TKDFbD)}iYXypLhIh|A7FhJox0b^ zyL5sBbC693u{@?6#Dgwoa73kAg(qKVgCe8BTTh@=ga``~1t&|PsL9JxCMru26_yk*m!pB( zx14a=w%s}1tatY|KQsr@1&2v>%UM!NfqU`@K{ec({`iLpa<5#&`F1#10l?eova;@~ zul(k2_)zbz)P8d}f2eK#DB8Cr5_cT00`1|Ljm}G@U4wv7$f6KCr$Q`gwzPN!HU=;$ zQ(?x*a4uj-?>-I2^nL`dJ`%2%b_rIGC2;Dc31NV*bD;|LP`H4k57ENJH4L%E0`G|@ z<0DSEY8v}TXw! zamH*$o(FroaG`+r0WNl6(yk$z4VhM+^>xT$c{}tp@9sO)p{Hyfh^Z#Yl4i2a4o6lQw9nDi3WCX9tMrXjTPg7lRg{ zgl=$$lwN1N1M}{Q8mXg^nKZ;8LbP%ZR-F$P3+)u7W)p0oJ9I{%A!G$5Fc@75+jYR_ zk-UD~>9#e(whv!Wd-rY||J53viXYV*eE4th|F7I*P?)=o{S6ovsl$2*v34*~lVJ>e zq8mec!m-$bm#9-0P8ta1U=^f%O|AB2F7UVwicDJor@|5tOD+(CJ=XVVPY#9RWnnxBD&z>mZ# zrQbhPPqxgIA>Z9Z&A-PeTGu*%^@EeBq!?kZv#~zFDj+=4%Y&DV-c{=w%MdpOgdD#Q zmRJY6T{X}T$ry45C&%CxM~Ll>udn^(pa1gDHBO6Np&x?LuWIbVL75#eKUaWVXJb$g zcjp%6A%3Fq9ZGdHutVdcK&`ZS+qh|*G(O1mzvj}ur9nIm>*4rvhmZ#jzTdr@6d}B^ z+xXd=kMQLPCOl$T0vgGxbD4hWx)ZkG(u>=J*KW2kuxt0xxW0<6v0m4`E37Gd%g-K` zy+eRaUVFfV$mgG@%YeeyUjMzPc)cj(60*t2HWVS{Ucv3~E@^D*LlYS^TWWYX%( zF=VoaGPg^=dFfnKjd})A^YvU6hQT`-#$4v)6};cV-oS*y9&joVP`MZ!$&g>6SMfau)@T?Po_(=%@t4`P=xEc^$V z&o-eRsUgCUaZ6}{mmO9!mwYST;Ul0GB&K@vg+1F1Z#-jhViTax_wanlWN3xw<*xS2 zk6y%&)WIx`>*dT)aHROaUm;Sp2o7P8a(^#TqYAE{dII&`YqP^#d}_@EEbOFM00OM& z{gQ^8KY=S<$1*vo2uu=~cZDI|m85DaSWCQjNA<|FU*Q=7zlUdk_wL;s&xllYJR6sB zkfMtULM-0O?aszIGc{ZrZLCw`nd66YoXb0;pv2&~TVRE-7y4EV=) z2}~8ukx^nXCONon_}N8#c%~0=6V{meODFKTFm+h90W}3aYWf8ravHDe89_>AHS)me zc%w%Joij+o!jqspD`=h>B)$C9LZ5ieGS|!BIMtZfM$;B9+_^z|?XwTG5oy-(N_3~i zKZp^^%dCGnthB<@O2UjTucQ%xS65+3rh!&pX{Li!x`K0@2vom-FmgC}tq~`KY&^kQ z%^w6gwTPV%wPC)F%O-eNkRVy_KhssIm=4O-Yhb5P2uQ0yh-$rUy*hkHDsdm=IMIv8 zWB&$Yw<=z(9+!WGa(u8Vd4MZS$uoO!>QDs}vq{xbr|C?!|5%Uofj5wH`p2#BizW#_ ztZ#1Ae^4hCKh9z$3^&rHre*3Q8Cypnbwc}0eH^1tuBcbL@@59Ex}Vpo>L5)==T@~) z0u!E=7Kh|J$y6L~Uchu{=2Z61`8%nTRtceH(nl| zLYpOKf1vL~mIgw8hTB3aE$%vZZAFmY@hQcg`oK{%eCn=22%CCcePA3(?4LX57*G8A zlJRIVv<9OVTJc)}H#v`~=tc|41>iA%l5h4dKmN15J+H#QlT@ODzjj4VO39Ow5@f+( zR9m4gE|VMy5SNK0*ri7cZ%ZJ-!qVXx4&&mGXrN_2Q##e7K{Wp84%9%+Y!=KShcO}i zjR#Zrz#!6@#-K5GnM{^5UJ8@to=|eK3eswhZS?BudVY%**VfG8f*-01x6y26$Wn5w zj8-&cw4xPM(J%9J-*lmN;|bQR9#pM3wH=@EG*R z*i!31zQLry2oG&@m?h;Pf18K^iEshH`CX`Me47tjc4I9*K*7f*==X$r6PC{&Hhy=nJ z0f#|!ErDFBtejkNt;req*6u9Tvm?f&Djai!BfY8Ug5_^ zg!_XQ-f3|DBW4jS%0KaE1}r{8Fe`d>uCGpT1ySGVloxa+K&lcx(dRCJGtAXSaLz{r zEb3Z8Pl6fvO0mD5q?8oKM{_?M&7gZjZ98jyb$4R-qZ2!MA&55ID}gisvlx*E7RrcL zwY@F=-MSb#r)Ar&BBbbT<(m8XUhhlQ#6GvT^*MjGF0{%1|*I#hE-_fEI}DQEgJ6Y`le-5o^rY^s2PQ@*Ue>a>4EK&gzSs(%$qGxZ5;rl&flxKC zC}7-KvG@YgVi-kiQTYJab~;~H*XJ+afLm{~OQhMqhvajRO|qxq8u+{mt|`u5wv0k@ z^i?Eng1JO0b9tzw4TDuk?dy}R4qX+X+QARK?f8RV{#?!JQvszA%ghl1b3zvcrq;#} zb7<2C5<3~t%vB`P7GLZ!@7K&mcBZmAaCsP@yXGkUHE#Sh z#_O&*Xm>3_LA&PggZWm-N~$i50inCGzM`_4Q%zqmLC!cC5eol;r@MrY^B5eGD=8t~ z^dwVcUtMZ54R&d!ddT)qOy^MOTO)(Pol?7&Kr25|I!EAlx4wNH_?e zw}FM;@13dPL6hwoBkP9vWf3nn9k)84lfP~uat}1{j%SD@h+uL+y3rktmO%YpZ04WSLm{UI725H%fGHUmvlNto)wY!L(EDTxCVhd*|+eI0& z?!Z4=%3w7e^4!cD8I74FXvjVqEOsjP$i7n~ECz4bfaV163^%4?62vMW!;G`no8Cp^ zBb&TAa+4h@@U(_$+m>vS602;(YAC{-OSU#E5T)v!ZmWgfp)`?FanKl zDmH{+E75HhT+;e1@J6W95TvXJO@yMr?jG*h)Sm(&IqhYdM3E>XxmUyHrkO<2 z(D^V2c_YDS+Q`g?RgMAl&RL&pcJ~OWDjijL>^RWA<*@_H{siKELVs5dX*DHe!M&@eH(p{@6VQKVc}18~w0q40M4zV}+w2 zoVuJLv-nUb4sF~`l?y>-hG@au$?H}%vIlbiEerP=&kObqb=Ns5ZcXh=eK>BVmiN}N zE$Tcw2q-=cmop9W|F$~eKX?DE*=kq+CpGvJKh)nBFJ9oeD`R8&>t2i+U{(DSw~ngv zOh=>5CF8O`Zj{!yAJivD>w2!NSM{$SQq>yG8B&cxm6Uym3?jm|HUp(vt@CW|>Y7TJ?sF>$DeZ-M~fjsAUoPT_6JVH(o&=lPkf41SOdrMwf)_SUAK9>QfJi=638{kEFX0(1%Wms1%|zM(m#0qS=xI0< zOQ5dx0~5a|apS97>L4jwWm^agWwl*eb{^8M>5zK$IehHaJBa%aEP)>2vHyGz$NXPC z*!DiYJ8f`(H*N6gV~**bNz=NDM!(C@)X>>nQ#HQ3>uyL8?dqhlTbi6gb&7aS&LHqS zN>K!<-fB0fJo@X4QT@A80L>}zIgRo zl?q^W^N+&;26xSvfcUm;B+l1wV`KaD|ASF6$SwD%qs`xfUhuVEXpgsaV+7#<=%zXQ zd*6(>5rPO>rNanD-+2+E69*Ss@f62BNChTL$# z3A_^~soxyY_rpgVx6$!s8<)fur@$HZMyf#LFkXK4``??MQKo-oUF=CU=A9Z{Q+Z}7 zNPYi*m}%!2BZX9ARa?2l@dTMg@KRXNOz<=*_p>C!bHnkk*-!_3k)vAzjjl(NC5bq# zFjAXGOco=k8mrEnAkq3Tv?#PKZ{Mal5`(*0IBqE%G8_&Wj1QFN(D?{yyPzWTc67aw@)~g* zt2kwcrR#XSQFA+E!%e^`nQOStf2yG%3aXZl9l#2ZdUfyOKX2B) zgra-pJzOJKTzg1b?iv)M0VCiovq1(i=|ANZQ`g4DUrJ7LbweY0-cn`4bGKC z8su|X>DSU-xzzKxOAG;AEY+$BPren_0vT;V=o2r241=|wy0H0~<+hk1T$~t~szee~ z8`$S5F|b?2O6egK#EFm@qF*O4G)hP~vn6gC?|!=sdRDFoVC45QI+CxbEF4$|ElX5X z^@r?3eUJzOth?9&5%A{eYL}cVW(a4X58*lJc|ytS6oic|gi`xBvAKNrZl?C&7BH26 z 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 literal 1914087 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%0A$_XRbKC82UVbkt4xG(ZL{H{Blq2WTul!qU_Q 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 z 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 M^=1u(V9+%bk~Hp(o>j1 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 z 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 z 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ℜW(uzCrotv0rSuo&|hH(^n_P8r0QasLz@?R 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 NU5aZY|gQXUcXZ9== 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

9qcmF1RuMPQop- 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 `)Ir@NtADswLDHXIZCE9XD}>Sh+FxIBH{A&|$l~ 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 +h8fht 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 jpxZ0^zSUt!Hxa2gcB_B8& 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

~xvV;t%Suf_EnP1KW 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Ⓢa%Y z8a`Ik3Bc~zv^4un=5`V|8%ZIoRS=}@LN9jXjkrBeuM-^_!!c%iVgCQ~_O3mvYTdTr zf2nU3QxOqFPoE|ZK6P@ES}RYc3L=b4AAR)R zdTZ9FtC}5DEAvqF86eT_T()0qcFJ|5chCBAU${4Ebr5B*0ASEh*T-uP{3(i^L%S;U zgy^;t&0*X^4t3QlqgUJ6wXTS}lB^>nF?;&e0BHCgG=B$7!^MjlU%_g3N7|!zu2+&& zys;YhGDvi2gJg@_SyonF^0*#{Q{vewDh7QnIJq$Z=f^uhLlW}RHz;gs0)Go%r^J8c zRM@LoM2ri^x^1Z`I}1RrFRwx7dKaVswEFS%w$kEwy?*GpJt=fu+N%}$ znW%iajT69iQIJ4SGe?{e;Dg1E&JADbvZ23iVuB=~?>H#twNnmI6D>wm)>ayN)t?=Pn($50J+r00Yt%PDYH6V>6B) zi596s%uW7upw5Qht}nKi9vZ?7x@mYJ-rR>6_jx)-c1WRySa>j)mv?hPQOpOc!t!Ku z_Lg#X7CThN3t9U$vs=9cGRM`+$=F9lAag#-hITvuib{pG^uAmytbeufk(lIpe0=)% zX$J|OfoTe!A)mssSdQ0=ZQbe(LOM?VyROzXDcgUg$qXHgv& zg7TKA=p%p=C54)m+r1RWY`pr&xU>C*S^Bumi_2769bNL}lC&-(mUnEH7$nyg`l@{H z?cxJH3eZs>KS;g9> zMRdt+?AJzy!!12msKOfxdR0beiZ=zyU0mEH#~DhcUQtDQIXc`}v_X7YkSqF=KV#1d zcBp6J_AMJ>Bi_Gk>Ig*8<|t2_?RK%K&c~yZi=RhqzOa!R>LtpB%)CpsYny=*m%cs9 zr1%V&C9k|Mr$!pKqONu}_Z9 zvDPlFy>VKm>SiT<-pi`m9S`EYP_71LzaI(s^TENR9w8*I8srpauAEq@{suWja(*3c z+G)LF8>q>8!9O;~GMn~S_DH4aAYS`&T*}-lkok)2k*!Iy7c(xCw|6Jcm&X(8fQJWC z;R(|=>&I)MlS{ciQ;C1_{A)AGho{dH%;vCOy-r9w?8kSDL_v2=Kv-O_ z;tPEvH;-T>H@W)R+wVBac2Z;Yw&o>iK`=JfqfSwn&C>L`cYYoiZ%P3Fu4Q(6d_O+! zp&}y6kygYTnEkaqDG*^g*(()`*R5xIpS7wDl_lqDyL=ynqjx=;E=}yX;39a39`aT; ze}~5fw8z2J%Okh2&ZAAWTRIV!`SP{B-G@_3I|pjFD3is*I;vr4o7l`)ID4(2nd)W3AJ7HGx-fX$(6d z&U`jb?(S+_%hl>+`GPGt%%X`826^f`oqp)|C0O!x`5gl#a(Q1uw_uOcDO@E{F_KNm zf^hC?Hp}?4;nQP4T=}&f+}BYb3+8!&;@f%*p=rM=*6MybCMJ1fARrUm5w{vo8!ymB zB1N>KUoPKgiLvbVpeMJ-iM?(d{neZ^l6qZ{TZMFZkVdyfz$qqHTxENb*hQ{#`bl#4 zFhx(oS>$ib?JU}b8CA)6ANo9clqkKp>`gmpGlgD|{nK}!Q?l2fICXJEmHM?it`-0I8IPU6 zH8y~7sfde>`^{ciX|Id=0_^dufE0Q;l}UKgv8x&fwJ97mUO>Nd`*|9Wa^(hoFMIVK zcrPezEZJafZRCMzam&VLb$(Fxjca{?DPzwZm?T-gq3Oq4vTlo!_W@hj&{VEqjf>Pt zMgV-6@yuX8vYy88NM%CY{K$X&4KenNX`EANVedTeXf3Cw`FIt8l|8}#6^|D{kw0S( zB=KWBtd~?0_x-zh@RE}U z>5Y+{-|SEK5y2F+e;V9Opq{o zX7uJn9(Mf-(CuM$Cyr}DM&EBHpFCk(2>ITtvAjlN))13AJg2RCWGtG%zPEo~M=Vv7 z(*zwQ90<+)AmB>d=QaH8hirNEsSg%UB6ASdinINY=5z6;&K}xB{Zj4vu?|qG{{OkF; zLUP@>rDXi7Ax`{m7Z7Bs9_)#X1N8#3miUbw|Mqd(Qx5jMK`p`x;bfFEJ2KVH|C0)7?y<%}T4n?*}AFILnpj_*7BbSBs@hRrMybr~R%akWI zY>#>Ih_3r9sBd<3rrfV)zBigUXgu9|Ukh*G4)FTz5 zHT$m1g|T6`HU+vHCXKFgcu}UyL3;}JXK}^ueW1&=M=u-wYGK0>hVt1KQU8`tsZznq z9xl^Z(IF8oucvr|%ea!Rlq^_zHZuNB_aycnYnGy)R))BF(L;MSGcNX5ve+F@7h=gw zD&<2V@=hj&CLJVY;lKMN+%xMee)-Ocf8H%+P3_BZ?-;vy@#G+>sBY+vNCJ8|`49QV z>vvAxF`pOnaR5>}Za*kn{6NzK)ku_B(ifuf%zhi0+3|Qb-3d=6F2)tG9=Kp$9=yr(ZBa`=JN(#ojj$(vh4hA0u<>2Q9tY0-&iLzv=b3 zLYf*$nQ6CWZF8II{cA5bHDEq_ZDC09*qXOOyVdXXSvyBXiSHM2eV{&D{Y4cQrl))F zY3b^5?QAULbgh{N1$m#X#zU`W?|6kXLKBbr)XS~KBx|sn&gByP^LFC(OOig#+mXdLq(1MffzgTf1|Iv< zQZvxHft^>e@z6Jow1Z@y?9uwi?8Q4*J)TY~Mvc5_jcQwkU`-mDNrD_9loNAi3sD8F zGM;ZQR+KgBgyaQ*u+4D+wLeK5J3UVK?AjsM3xR1y@_-bGa^9z)e@$iH&87;%%&_!l zupt$!q3H>A1PLI^6&?$H=wGRTuUw;8LdgxZO}UG8pxN>hSk~Ev2?bVv$3>#_Dl?1g z5mE#I97-%I>4Go{&ZbXPp;n>+RbQYY5hBDcaP1KY9_H4{eO zLGLC&v?K&!`;vyNHYn0I_%xDO~D-ch(7s&l!9 zNAl&u_V4AcG%CCo8;~-wAJFQt2zT->XmvmbHs8-*?JbZCZYhXnyobcw?M=P{)n^P1L|!L2w%F=4PQOhEI~mg-6hfsR|{nd{#>ry%ez4}4?Ajt zQaXFN^m;jf5T!TytV@h820mrxnsP~07|dMq4UqfgHJhjd7ePZYiY zQb4W0Rpk8@9V1EKvzPq*u+pPW>;;UQdELewkPj2GDOv4=HEYL3J@wjR4XwR8e)u!nBzGRs$bC-UWjh?jdKY09|G zbXE=Fl@k>&5gXyw>1r@^lu2v;>SkwELO7fJvGS!mBO~bWf%QY;s5KnmHE!>40mG}t z_62QndryW}RzTxL3MT`#d%I&LLqSHBw1bTjg1eG#BN-`|qp^FX zhqrlr9LYtkEbMypsAc^^xX-$IrJ5F;M9jQ_+Ij5?5Z%%5s>VCMW}cFVF@Bg^`artP z1!2|shA3il(eA)6a3nQ|dwEYD+U@5=AAJI4VHNl|fKD(jJ{al?*?N!zYJbSG-O8X& zqpbTY02JnEUn1(lpN3L;7KHoSugxVe91k{)2z86qRrJrEdl?Q}XzaLA&iH3e?@ECJ zxtrmBQmq)(`?w0PDX1L+s9Bx6{gszi#~UyAE7Ju0|JbP~)bi_maVvVzb_t?5=JuqU zas4`<{SSoflWGCg3{H#+N$~Gs!=F4Vlh${$zdd|j_8zsFB~4y!$PN<2G+$hD-y1)4_ezeHf3hfkQxip1ViP*_l*`lc z;XF}9Wwm-HEw1|gv8lwszU>_PlHZ_`V4(Dg4IO<|teUg2ls8azy_6t4eudY7TUN!< zOl^Bjoq4#g#w_*xk_i43ajM_=r*Q2juT6~9FY1?SLv7yYSZ~v@Lct8mw7RQ$O!`I8 zbcw@F@KtFw?eEgod0Q81pNeu)y=v+c^729S#{%WtsXbU?#KDFe%1-i4j)gb}JSY-{F;g#E- znfy#K+fR2z^`zomm(AF6yf=M}Ez$!9eF?ei)lcB|x%PcCC>5@OYrhZ?*#Q^9k5^vX z8qQ8!NR=&qHt}i7wuYRmI7co4d`!9R&A;{^&LrBsOx=8xl7CFxR1w>{jB6V~!kcEc;@smD4mw|t#iTf!V?#CM)E~Aa{py;(z zr>KLDre0#gclq9u(aX!X{nVL28;opD7@Ou)rOZVEI16y}SkWftgEAU8E$d^9N+>I? zSU7PFO4IKjsPot{dh|!>*VBHZUvjb;8&lHwonby32*mCd0fZs6aY5sGO18j6gtJoX(_! z$}8S|HXnDVd8^F|@=L4uy579Jce|N1iC8hu)ywzR%*x~A&1$o8PYXV;5Nz6Jcb||U zaq5xG@X;Vv!m#VcGLh+%i{)JGz4@A^?yy(Zb4!yZ#hUFq>_ zWwG+7)y0t(f<^YxFY0cHjV>!7uf>ONw^1DIbCFqZ>+UrMQ%vkPix7DyWCVDN^l#!R zs*?*A&`p6ztjZnU%7k3@ldKMX|1z$^(;9qif3#b%pqNr#(JzX9ZRq{>O&k^#MU6U= zB>v*Q=8vB7zKF2{eL^c1)7|q)J(SCNd)n?+jR)*F+~tLp1_j%i7f*^y1RJc&#(I4~ z#Dcx45b0O_5|HclaAitI@AjqZ-itcsrBdT>Dyu_U6T#vny^S);y4WcL8>SZuyi91r#aHJ9s^ztHt(SUQlACi>k%gzg zAz3-yCu>&X8HkUoCG=0%@E}>uy}P{K38+t4*+7X30=X$U=Crr!gYhDrW)ZB3B`a-~ z_XNVqM)`NCaTp zac5wL4GtqwuCc>Wd&i=vYYNd(==QG=aUP(;S)4g`hbn_}g@BHjfA-o?t+0gN;*0;R z=^X*qd%3ccWcx|$BLRrC{Lz$d1>9@Pq}JuC08Nc-)`0{s)Xs|=`T066sU7idwQ!Xx zM{9F>g&jCUw3=VIc808^KReB{{|92}ng03iPLE*uUe3X}OqL-;Dv=v*4T#h1zh1bK zl3mbpau*2BV>7EJY#@stsDN^|$C2V-D(tAJ&{f~$*1+|*3%ra9dKOdc0ZJv22Agw%Ip@n)wT-) z=NJNZQB3aTti$XMy%&CjC$?c!yk0tNd#;sZ>xr6w^7C`Cn)>VM>FwtzL5;!z`z&a$ zBydpz^tkO4QaVnrciBF<)0()*LY#O)c&5S+7;?a@bR%{s_LknlReDdmV|pr$V#O<2 z)}`;aF5dT-Q-4TP<~ZKk1ov#3OuV3BjB6nr+3Zf%Ht+wHqhe^MpE{I(?%Ia(vv_N~# zbyHI);#|hZG+>zi9`C^BzR#Z3_CnnkyYfVe1U$NA;>qWxj-MY*r_S>Ee(Tmd2?b#E z?Y;}r#dy1Z#vOq6u6tsQikipE!Ni6n1qc^>&hG=1J_pl&u3fPjv>u^einmkfE%8Kt zjXt}jKy2TKad$G4+K(ZKk|nwn-OthfnoQ%GARZsHBrv`RHYrLKAUNzFmE{u5#Q($= z{tLA5`TPr6_zNNjP3T#8mn(yn`8Jz9m)Ah{aj!434ty(Lq~MGU#M^uZ(SgJGTwF1W zZ(EiCl1|4C5&!ksmAf8d^|e^f-yi2as4d99kbyr~#o;@}*y?&v+RNkRbj$fu)Qf}C zECxYnmC2sx&LBtbF(U(6a4yV9z%TL-Zx0|oLj!spfW}m8H3G;8K+*eE4c;DPAXFk? zJZ2$x?*9Eg)M~!SzZvN_qZwy-Aj<>e9k1Y|ksy@E{eK09eT1lX9~6#*O%0FEFTZ=} zJqS^=g!>}22B zZiTgrO+UDy5pz(VAuWIdn>Xt|QR{RCV$-z+VnJyHAI}HmpXZ#kKKaKAT)a-#AR+yj zRUS*8>*Jh6I-4_D=-M1X#=+(?H>8SMgPy3)&l+BHWiEpZnqkl3Mft4bBjPmx_FNUz-*lwY?khmEJ4Ppw8=%Rqcb%C#GAdyEDo)0{{OKCE@_Zqh` zl3=)iyxNzE=N=L~*rn`zGw7f4c?*t9F&0PYG*L3WVoQ@pOi~9iHt(8w>1>uBu}#1r zn1HBGlSd*@28u)Nc%wn>MYxtXu!O&OHUbi-Y&eiE%p-#3&r4=7&MXu*Ku|BEWevy& zKJYg`|APItSNf5D+Gu`$EQaat*K_+IYl8Nf=C+>C1)%K%0!bd9m-st}#7~>g{SXq6 z`@#2q+VR`A^YQPoe68X$2p0cb2j2m+c>;+jksGYX$zubZqc-LgQvA@69`rgC`6BaN zrkNGNgZR6*+Y6-5G7Oair+TGvK&%HlxFD2!nbF_8h}pR!nP zFQ_Ge*k7YVJg|}c7#lKdMc|^dm8weOs=MF&RNz8i;V3Xw!_ds_&jk=9*OHlVEoW4s1cUQTOGpDW=u5#~u6R67d1?1;#vTwyqr;>QSz;r?v&cxJA9 zK3gY@XzfrU zWuG43VkvSQ%6%kOGfbrR=k-B5VNJQBCVm!}XZIfk#71a`*8ICqzjNxxMxkG)^!mGv z=DCRU`fSgV@A&v@&dhzE&w}5-`+lB>KV#_ET>G{Ubm;K;d>vjL`@#ahDL<)CB{4-A zIRS{vOZIudHVvH(wE|}hZ!Ca?E?>(0SVDfMyV_oZ_=sieRVo6pvKN5nGMCw5H3!x=VU z1fj;!gzXO@YS6f_L#D_TZ=2uYSwx|@JDv)w0974WtD?u&)J z`OAjYEVK=#LEax1Qt=FR3DYp)xC}oCVU@aJgfJejb+)VEK+q z#DMhi_p^S-*z{{0DIDnS&Chr2A=38uTtyq<^KZL-KmWGZJeI#}X*jp<+&}p2*I56( zMtpwRi@*gv{NKKhh5B6lJAaqJocOL8n7g*MAA7dSZ>9^$=&@7|XhYBIET8LBetK%c zu)Xo+R^~iOkgHU%TaH%U?Spmmd7V&&3bfXcb&>}HiURCQ19(D&$R!d`wD9R0-s|^h zLmP9U$Fmngjb(Q(B#Y1on+~6i$mG1=k;;8$?wTwy+uh&~A7r)@Ag2alKKz)!?7(FHwx0^pnLqyI?_>D;(^lhqKelB0 z&Y}5xl+3D%FhwdHG7jmb-ma#PP?nZet>Br9y5!9ozU?(Dfg>C{UWi#*s^4HR#lwz0 zQa&KAu6x+P<`GMObp|A(m=>A?ae%j}k?Zg`W zd+hz~v;Atrf3)2nYtLWf^!Ix9Js0YJU^13Dae{S})RdqHo;t4QBNrc4 ze3?7)XY27*UW;xB>|Q0qM~32I2S^FwtJr>F>?q1=g*wbFZ2NE*DuR}{4t8ieS84Gq ze}%tnLB@Ft;WWrGv-QfEngo8qzs~c2`pNSg{=1z(aQMr|{;`#FoBZrE{$BV0@_Ar4 zu{M6^be&#*jVr8`F8n|o`{n2T_&qB8S@^}C8Sy2uxK*0FBeaHz6!R4L7!EAAbq^lC zUJz+6mrE3JVkfQ>V1>ncq=>Z>3j;5fVT-*610Z*HnPr})^SU) zC8m2=IoB*ZsGhTw?wUXVgNw0rO|LdjczrY}$ho*3gyqvvtpL@Y^Q))jn|*B|?){@B;IIB#R@>5f9# zhZ2fD0hS>eF&8Dj8#z#BYhEhIW2ayrW{ZT_$yF{Zz|{p)ZgFjM!J6;ZM6RiyHazlM zSMafYaC1ehQbXdsgLRgJ__K4lQiUX6lL=l!qRb)ysH+rM;*jpM#sEPi7Ip|bcN-jo zGYbxXmk8Lh#8w*q<$LLHNISv5#Q5BQ5_n^1mo?UdpRqLl**0IF`a6z(`Gvpj;CF0d z&-&Ls;`e92=J7w*f6UcC?cuNSJdf2MKYdE)&n^a+N<6T#g4-P&Xxt$MtYQyrV^6$5 zxSwaqnKB>+BF9uQ{~d*e?=llsd)UK_nDky61DJp!GE?EJl-o2Z!VMId+8dQ~)A?|K7R zqr*v}09XU!B>PXmL#Yh?@V8I(*V=z%$8W!U`@#CSzxQ)LcEp1;F2>*=wiMJg?yQFN zPunql{nS7A58wTQF{wAqAx{l3ml30|$1N0O^=n&ow~SmDJ8%&J&)!yR5lShl$y0qTa8=hcT`G9tnJrT& z8u+g%%AZCBzZJeK5=sojXig%^3%wHd!fy=D8~e`=v9P&4!Le?#kRKo*m4IxNsOygw zU_G=!A%Ea&{Y1S$JhT<^QeV!(jPSESp!@az|MsJP+6n4be~jOA_$w~)$C~uFP5!pk zcYajA{r_*<{^{eAsNDtHw-kh+Tk4-)gY&$BQ@YQnXAo2_l!xFOx}9kRW`?#tnVDsY zRe2QAw0a$@(Hdoom6jeoQ5F$0+xsH_cHx7TIZB5pCb(daT4GCpgrB6-D=x|gzU&gE zCSZd*K^#DtTaRYu5|FUsn3v=kWj$<>b$dtPv9r$E=^lV19|1_oS?qx4fWHI5K{01} zBVW$r(AmH*rQ_#ZJCjHh&(=kY(*_&?%@ z-~G}bF~on))4yX}f3;fxVefhGK99S3%vSh~Ql+qd9K$(i=!LG=HknCPbPWV7Y@GwA zFOB59HKNtw1k_U2sC%rUJnHSv0=wm;xC4ZxtkvPBpQPq(@J+?B4XL>0ak*|C-j#^t zOpsPM=xmE^>?b*j6&vFw6xaqU4f~b7hWf!A%W%`Mly;uqww52v^AYVmlzZ$QRQMS} zaL)JGgL6Ee=e*l-qMNGXl&k1RWFn+HH>^%a_)&XdaD~Q0ob)@7!+9RB=D5($e(8k% zfFG5A{V1_ASMz>F{o8;1M|=?DlZ5ciU+dT3zE=L*FZ$gdzt{4gG5+`Z^!@iAWB#Wv za14@Q-!<*$cV9r39XaehJXVT0Q~TFglG$1yKnhw45=)qTC2u|M>@GNp*Wq%Qb%D0U!P z8TM7?QuzL`JwqC5SkADoTLb<47Au7R#(Jz64!ss>Tvo3uh8z=G1<2zHARv)vKKE;iO>r$nQh zQ5vTPd8Z9j8*w?OR>-wL29jfQ3s^V+8B-t(sZ`>qOrOF;@lZg3u^^1;E#QVH@0%ru zhJ@za&X*VfAXB+){&Om13*Zv=4Dqa6Im+I*|Mo6c`FG= z_*a+;{5d~LtYTx{YeBF*3nfI`-86t7>&ufl&aqK8cMM+Q13}DBw@v?geq_zhQ`f8Jj6{L$T1odazrERNURFXBS-)+Z>zIu z38YgmE|NgCbGiFyu(=p7f;tjgv3$A?*jW%lhBkUn>L}AS=KVr7=UAcLeOip1k`6miM?OskmyXmJ&G>G=Le{kBC4a8g^oZXVvDdrrB|ppCahBu`)7d# z2wZ}sC)SBK)_cPY7o7(@F5;Y`aPF`0v+QdTzA^74sHA(DhqxL$@X1)N6@e+Nn%WyB zCGaezoU_|JXMNVoSNLtrzirGvuc-A({ff+U3942I>hl^eL8Z^+{ZHqL;tGWw8P);# zX!TnkQ`mZFADBZfYA)7}jmjy6=|gvVwoia+i$eX4ZvyNLzZ>`Wjl2KeYhXS8ZMWz3 z_-8);wEOS9=HG2PhVZrV_xBq8AAF@>e_y}o8yEe(Zv5JR{u#RmGr`Xq@?E=e4$yuX zt4}F|*f;`sZh`i<{iyM{GvZ|;(JFo)iM}RYI0|zr&DFBO-W3YXRr$f1i8Tc4>(Hwp z$$|eU0{a%if80hAFZSGMYVs6DkXnUyBtm?M=OAwE^JAy+e#)DinA#-;zt#2SGXb;j za{9SJ^(i(^E^uUHIjUZl%@1ZvxyQNs10uvXj!OgNKv0q|V($g5mX#RjfR96x?1=A% z-`M`>R>+H6^>R3nN?{puRZFr$3)m*(DtzmGiumtr)9tve>V12E4*4$fAQ^p>g<3sTix!r}W zd*m?+o%0GJ$##KSmKTAfSIW>7T2yW@gisisQzKvDZ%9;!vt4=2b|tL3*{*Ouv7+B`j=$EAAA9m2{mcs(%+RC-+yJ6|B`JXj`3xp`l-{HD@lGTN`SLDu!#skXw6~! z67d-4%!!ovb|a5FbkHX{INXO&km%b$!cR-tEBu+Q-nc!=I|eBKe1Jj3zWEEu!P?`X z1j39?!smms?JWcf{@s7Vl0NNn#NqIJznHszDoEyIn_2k(`(HQ%WxkgXE-rgzUjqX7 zT02*QU^5i5?H0o7s8hm>zR&oWT|ZZb@L;hK5cpgnUWQ5%Gi3QjN>N|IZmvrRCg`lN z74$jpzUkQ`>m29GlowdSSd>#}C1?VcDNn(#=QOONt~s(o$?pcXVLvLy|F1`ypO-kp zj&OS}Mg_}>@$fwVo*``}4J*xrePDkuAMZL~5AmNm@K`Tq+!M-L*l`wk|C`P1_bcHo zB5lU}aotePBnbY056`tX%MY~BOH}6Qb8wA!k~!Zt{|Ec_)3{&U)z4+W&?Q{#R|OF4 zAuj(tf*=3Y4>&U}`Et4ZLb4#tFR~qYOP330IV>R=_NQ7TsLu=@t&JH2N{&($0jOnZ z&u1X>zq+Np-~v@#WvQH&bsMEUtG3`i`2H56d*`(3D;1I17=JFLl>3=^PP9t5Ms1Kk z4amq{j03_mpdL{Xg9D*bugd-hRYHJ}YeLUKcLJ-63(jjvwD=yG3ztFd&&s2KEP^@( zUK3W8!8r<*dcszdhqNu<^HQtukiUeGZePOQhA^`R&Yf_L3M&*b-vfYR5|?JtWt#V! z^Y?HsqJdf^ona$)Ri0HJQ6nxB=4{H(xgb!I-Lf}1fO6eS{7{jvTM1rlL6IK38}n~Y zQ5Lq(bp9^D@u_OS(n@93izq{w_`$|?&?Z!j_Uv8Ja*62dfyf2z=;HerCqLJlkyGFA z2|wQ(=I_nz+}$c1)8WLG^XJH5&eucHWncC}HeX|~F6<$d+AQ`ksp@zTMC;sxo-am! zqVMosT$ddMnRpEfScma_NQuZu2yr-X6jBDT4H>NDu~(t*IQX9sFvQrDs&>9_w0AtW zW$csS*Ff;f=i%f5Z-=qMVSkO^QB*=7c;4cH3Hn|m<#BF3{In@+KG4r2M`}EtMV-&( znkWV0h7&?dO27Z2&0`L)SxK+O5(!&DRlBl&;C_J2!PDS3GcSgNBa=WKMddm6r3~%O zhN~Lmt3Rl)qOt#1-(h^^eb0i=oSBCxC#0f^&q{pOoL%I`=Ln$-v5>i13)Tj0A>p(9 zj&Y$GJUk6Nr_fmE7YspK&+~#y(XVA3?{TkI=@~!I$=B1wy9lil5wF)Wuzhf&e#V!9 z@%1lr0R|0oE5vV!kGY*O#zhUa;9lCDQy(M^$WZC-da+IM> zTa|>E`>%UIe&xTsW{(AI9uME^{MAMmjNcH2-yVX}Qi=Puzw;mc*bf8@k0s6bfqe={ zr@IQr9Rp}Swuy&KmPEXF@qGAwG%DhrKD-E=kJsBX$aR4*v-Iyc#5F}+a~?k;?h|O4 zIzzvv6OVvAcdly-^G*^{p4ah*b1Yt+aBe*skpyNN83<+HAA~qOAMvc>G#X)48R++) zV_uK@^AQ#QIWF-NSk*Kkit16UU{_c~x*x2kukgGgp1qFv9&51%tql=2497U>J08q7 z#P7j{6;jw39M|ib*Hu!+{dX1Gl}r7<-_PTB?$g;0;u^db|9p<|@3;hjXQHLxI{d$m zo%y%udEQ}BQt^83V`Lnp_B#$!V-AWy;u>v>eq^1;9AiNH%;T2>7H>Y@L?QYU8ewYb zq2J~?CCvRAb3715YnV|qEj&KV8n@BE?Fw0Eer}5%K@Xkbf#K`xxlg2eZm;lx{!Gxn z$ldq&9n2F~jdb*b?Bn?OJ-)|r@;d?Ew^$w9^Qu{ECUz&1E8{2UK) z92-#_*U-M4|2=-iarx)?+`h={;JA+V<&kN}aS$7c+Rt&SR|VAe#w=cMu}*@#Y|a$V zYg5c&OwVgC+R$KMu$Rvs0SKJ;z~5}Y#;^Ut3i)4-Gv2CfwEeu6t748_IcvM5Jy zkLSC1?)c}qh3{DZb-skP;om>UZ1euB=lnU&#xt;C{?8Mrvu%h3V$63HFi6*>nM&*HsVd#o6h~Znb#BPfzds$p%AOWI{fpUgJ`lM)?mVXWNG)p zTqz;aGyfj*uiwGuv&qlk!jEHryfgP1xQflV*<0_THq zm2xWv+V{#1nqzP-W%o@#uV%(#wvIL&RA0f4gRtg{`3{@5w?=TScR{N=lt^+ zu7|SadCmHLF7*7^u=VG2VwuJ^KxO3_@%3wL#sB#{H_*qhJvwZ|*UmcAKkwUx9sbq# zCE5~MRkZQHX~VzAAcuVgYPUwAk^rC&_$%5JijkS|fb^l~!v2A&>tD`O525rg z=goVF|MYtEI^oUhafo{+klw4FF8syPk(yT@V6C6+t7!JU&^`X;T<$shmjB^g7w7hm z8d6!#&wQEN=D+(q^H{^WHq18O`_=b9^Dq6??*;m4fG_%MoWNg1KKwk}6!Zc0_wT1z zE4tYq`QsY@b8{GW=Rcn-^Zc0L%3fwa+!In6nv`rLr195>#2gk6-}ln&KmPmqgJ(gT zX5aM%;}vsOgnx?p0v}4pJp;p*{r!CK(_MC>Pn!`&ES%fRpM5yAIrb0pSj1ieWA6h% zzEe_uyG=YL;=4`Dw4`x<`P90%agw8S@0^|Gb9(gY$o0WBlU$pV#Q?Ic_0-=W+LaE|(MM``G*Q zec-ph=b_(#@&0w*6MJpQm7!|cB~{A+OM z?<#mEm)+_NhcQVG5UQW&*Y`WUsLtnqW`Fqa^YMJH_}BTx&zv4nzw`Ti@_T*1|J!yb z-?6>JcMzi|hvRo#6F6U-&!2q(oR90*^SO9tSN!|j`Tm2y&fR|R<*#$`+%CKLbIzP* zKVG14{_IO~%kQ;ooIm%IioTrBXFv;vbIaMM4}PD^^WSU#buRkU75_T7`rh;Qk9Opx z@3p62?E*|WuD$%-F4ec);fsFT1WU$z?Z3{&cy-0U&aLNr4*oh9`{j8>n)jXX4Ny&r zxTxS^ua9-Nildgt+*h*$)Iw4Y)VOePE8cEd0&+ zwTVG8Bd!nufs`;T69=L*><=pbRn8$+Q1(po`xfu#(AxJsJ=f~7qCaXdx3H^oQagRQ zh`3=7+WP>>!bN={7FJ93uXDW&d&Dc7Rvs$fRZJ6(LxMcTUgrBfY|!vbSsYz}lg6a2 z5#&295L@ys?7dhIMY@Z~XA*J;WQ}jr{$-M7x@UXq2c%Y z@}I{ASDRR*LjQVSqVyCcl7QR2Ss>JpE;q4q!)625p?BusWyi`U91YwF;>T#offbs$ z-g25-4Yvkc4m-heEvuO9-sP^WOyPT|Gs5@q9(=qM>iqC8mN$HkE}P$jK?s-rANXC2 zWB1SBrRLxD=ksL{zLY=lRQyhb6$$MRVORykUGsZ%0^X;rggUVA@!{t_(GMxIV+i8U z@6U5R=K=NI^Y^_H_l5f`W}Gkbj$k&$bA|JLO%VKJ7(YC59jB=^L(H4^;i2U>D-PWvMA^8 zffcFwpBx9@{>8p8{B>XX&wWXFuJ3y=9+hZk{0qZ^{%U^SqdmXZ7Y4Q%I1uXRxF7T% zo*(y(-|gmhL4Q;8^W(m9)+xbg_5Z{8`8W6VnA;KegM9SAo{!_W9~Jk(F6Q>cbL#W= z(C)(cyDk2j^p)e8(sH3D<`m_}(|hKdOWN zvM>0(V8A#)JN=oiS|Y{xiwW*O5eWL`ldu$g*9|N|A@Xg=>j6N4@qcHr6G1ya=ljL| z;J%Qho##8|gXOX$E97$>Fg@QdcGp|@M8HiKtHY%kOmV&$_;e?r@!0ME@i!~M^8wxP z>2~~I{@4HK|C|{K{Y}u%%37k-2M8G6xzRQDew+>hzRf* zo(vJeeyF>o6j81`r#|PP6tGcgGjL>SmVSQN)vW}v{E-!vGEriF3AxIviTbj}&UTYp zx0f?q4cXu}aars)kp4t5%Y%x?v1NM8T&xcl(^{R9Zi43OY6nfpf*~{sR3voE4gLaU zR7$;+%>LMKpXD%Ai*|LZ<~$tZeoi~kfknmZF%mxcQp2_V;O-&^p5)`rAa-oEB%}|D*kZ4le?BA8tJkYX(O5t9oK9A9E!$neaSnk)7?jwfnepid-+!WA-qADJdJS3?fLgLd3oko* zVVw7i6|oLkuj+TV_K~0MrgnWoiBqe)lE{r63^fqnP`ZY$ee3G&_2F}`#hbjO&f=5g zhxPqErc<4g{efFa2VG%CHGU~RNU%s^@@0T$l5<`-Tj;QO^{$J=D}TC#cA_rxk>9L^ zQ(+x9`KZ4)YtP%zT0z>kH>>)k=%}-zP1f$0zM^|fI}$tQZF~M^*Bw4XczZHwlClR4 z)k7@L&~%EqQYNFleOLFef?Bzb)Ir*L`HF5o?=cWiDjO@t~!(>m=oEntiRqoF!r zwa%3#qu(3mbqxli!S|PI<_hjarMS08oo0D*Njt|gcfJG4QyJ#=w%Us)O*=6>MUJj? zE{b#mnpF@T=MT$T+)9g2?z`+*teGhkhv{Z-Hd-ieho!Jz9;!-z7xZU0z$cWBFX^sJ zC|%Dmz6Js~^K3APFOb`Ye$_ZO301FR5@WLZCH%nJGLU}BXnc@Tj4 zcT!(5>h@4J%V}L_-QDoC7DO0_7ZvdALe1iuyV~>`#8HIw+*mSTz7w@61bLl8>=*Ha(!8PQpa4SxkcTw=>r>Y!Q`@u6kqCW9xR>|(7HaR6$W=;K$z2|l zlLVrgPFiMUb&4JM7SmAmg}dtOdR$NT9YT&PBE37{F$3#}h`be--M3078_&-7P*8iS zLH)dL9+dbPAx3#)SCn|TX0|UMK{BRa*a`|t;XTMIfdcL)w%QfHxg|Nbe{+lBFf4Yb zeCX4P&{HTjfvo~Q*>k!#F>94$swUbYH6d&^p8KlcVnOGCRczimr2+U((L(lETSoOd z8IY5Gu*YB=&dr-by8H1ynZ}+cji^3arNZw(f`^Wx*(h=fVn9BSOAepAyKYtM`G9JE z3Zm{M9RgU@EE5g!j0gpTNcu#3zvEYRP)$p9Y(*at6L7(`Y$MmI#@=NEjGbpqVi|<( z_Da_QtAFRbGqiZp>a~?(@KqJ!K!eUsN*DJRn?WbqW*#Ubd>-GYr@OIBFkResrQIvs zPCaPp1%fG+ToS9j4*Av*tZPpNjs{`v?b@iW(18cz?f}hlV3sdtUY#%tx|+f)32tx}Pqt@oM69BHG!(&hD$6;FSw z?s%WG0n$wC-Qm%0k11$L#_Gu~%2N(?@x_ptH(!IqH|@G1M7Avu>Kb~s@b-%O0D7I# zmhi#UWkGd=CZ2s)xUN{IlFZMLRO@s*4LY3^tDUhm&;^@)0_jc>YxX8PQe0C}(tQsR z4y5V*^t!tnnmFRYZq!-5Yg=iw+-@^Mp)(*MB3)z)3OXQ40QrBQls$6IXLemZtPA%% z?fQBn70XrqT;%W4t`1{ER3H^u`>4BnF30D+K5+WJZAfUAh*xW{;3d5le7~`bCBo+t5jHCf*g?fQCE@>)fKj{daAEoP1*3wQKHTBArigZh;(Y(Y?`70Z?>-9 z%bGGh`m;&YJ84%pZlesZ8*16SN4P#_i;BP0uOhAuTD)A}P;DrKFepCaX#;Nh;%vln zZku*g%2ygdHS(TRg;E^@t!vDHFf2$gPp@csdRc~IT`tQ#mwL*yZq@)mpP!L^Q(~Jq zF=`sx`vIBDoYTE_bAet4yDi@)%FdIBzIECJ3d&%tok}Ow<+@PvW&0-T8~C->P(jp+bKkBt;^7V=p_xzYs)k*dW(HXix1gYs^NRI?YcSvSWLLN zw=5~W{lOZCdb(V-O9yJg4WaMPjaeKbL9_V=8X?) z=nh~7eXl2pt;V_~cTS`raCTl52gokJEE9h`{&f7w__OiH(N9o)ZSY6qk1@y&Lamu*1^Jy%Jw9!n1gB#$x>f%~EjDAyxc1YKpLZ*5F=W zs8*+m;4I~J=o(xaPAndmYTe&T!_NtZkqGK(9U4hEKqTjQzpRjY-#rDzc~=gI*7W^F za4*eyA=1T?3SMA2T}V)k2Cb;IJAW$A-P*ebOza}Yrq2~bb@9UdUYU%$4`*5Ptck9O zh^>zh(camcbupA?OXVrSFXa8sRX1-L0@`{D^0raFk=v8cwctRv(mbj8O9hTeqk1sc*JIz06i@LDbTR zmyebou6!gl?jE?GTKK-{Yg)g^2Eu*3f;4lForULtklA*KRkbGa)BQ?=XZ_T340VLW z3K=J+Gd;j-oTp9rk@~OXOw~RQS3u4{y}*XV!vQ*u^qqal4rvhAAx+Eih=Lo4)r^nZdkMx| zGJ&!J&8%9v@S zHrejM+axS+3s2VSW`L-M43#6)V}uI7q^vG4?c;H+v9$X-lij|4bo#^ynw6%|%(qVb zD(luz!n$8AiCja9sXCDYlOMVVYTMKO{kf*!aL}*Y#{p8#{_uD<8{nN=b8~TdP z#L2HO#R)vYDnq@=!%@0}F6lWkTgYJbp}AT=H>b=rHpIJLYvZK1!*2Jt>3#{6`vd17z?Sb!p%m6bl2(du%=+O8aLSC8I#4lqRY(! z&Ga$dy(V40pOq}yl#+Pcj+<^e2X(u%cj5$b8SzS73MJU>H*A`Ka84mxu+-Yt zSe6=4hxP8hsc9QDE<5FWT)gDzRk)&f$8aTJ^6)BA9{j-PB1dl z%EVtZ+11ylN?2o8DJ3Y!n3jxiMKb-!zNOQ-l?;n~9!!o&axxxOV@dj;E+N6ZL?*iz zQ`?_y_e@Haj!nuG$w_`hq_XjbbS+!UhTKl5AXvTarg#H;*0mI6_Oh|^3MFy0BH65B ziF&*7WepAHBAxOuSn;beWRh3htg7g;P|Btet!wb=w%2FbpYli+&kPG1>Qh;GuOi#> z=c#;l`eK>E09ka|T`KCqgAzC+bvm}S_$rg=YCDC=}MX*uZA`6w)MmkM+ag!47W96`TVLuq%My}l%%b~z3#!>0= z2Kh7_fi_g3FVlr|AH1O&=(|Tef{k~4GNSH$Hflw6El7`F#Z!Bx^&WcATKXdIL6uw8 zxHm+vmH7Lc`{=5P2!8@Xz$AYUNVbXX{$U+@$#=LDt(5tjJP*+0c zG^@7(y*OP9KGUB|dgzum)bgORL6Kx@+!~_|pG)s{*)RiBkXJJpjyX6KGmR#YYPT>N-5NPn00S~F6{mKg~e;xg6cm~_J_SL zGAYrbQSA8k7K(aWx#Kb?AP#jKP4!UT-cXtWk%{jFJ6=6%)#_D1EF`#Qi%SL3T6%l9 zN3<7@Ch86g&@HvckOeH@-ekMsoj|32QJI88liPGrFoG14!DRqVK(fD@t{Y0BA@;x0 zqU%%c>-CDb9=lx~oq+=rE1=BZ`^AEXY?ZWbA;MMP@1n9Yti%l+vVYykIv8FoKu)Xa z{c$WvMHfrZb(OWa10;B<>D{}Op>FniwJSMa@<|4GkvdFtvL+^GCkohF$7y>{5JL%3 zyUnEJHX{_~1Tn62wojWbutZ(pSACo>j?TKxwa02?pD&of5#mDDp(uBYmJ_Ig+}hcV zu|xSWDMV%7Q79GX(oG&+-l!brbIhM_@WtE>)a-y2Yn^Tm;Bym?c|fJbYI}OePp0E{+Lb?p z^vJ$A%_%sbZgfgc{SDx$yK>c2g_f zCcqfq!!o4HemW=b9Y38Ru{mw+^0Pk^K{j1$@!?SM*0v@>iLO?0wYN&}ZYWWK(sAso zjvqdv^X)y9C&H)qs-FhNG7&q@4z{&ETFQ&Bx8#uCckyxBQa!(WKbFsq7QEcM?Sv%S zi?<@Nls8iyydEbn$u7gHK*;UKTdkB6OwnsEouI25ngMkd^)1=mq@5|O(f#{G*^_Sq zS%AD9*Nj%CH>h9Sxeer;wym`*_`rdj`cmuGQ>IX_Bg)S0#|HA}@?)K)JEnI~m7*Hr z@_L&ZRU3OLQRJUd{E|Z>J|opI5RFu0NBkKF8DZQBhaF(y6r=YX)RjdN43VPa|yN-3(nJ z^_ywRequTD>$G4jcIwufb9nF0>&=G{ZwZ9d%aN&W=Upb3?6TS?o?iG|J#!m6 zjCs(n$9MH0)&$2xayWaa3)EB-=7sAIYZ{VX@HCrGoYILAA0=?i$SVCt+4p4T%bM}v zdh#z-o9c>OLF;0xd@{~le$uP)xMz&C7+1#?39$b;-`4zTVg}nblvB%kO1a1`R|m=TuxRH-6@GR_y%?ql;;H^pVW6wONPPbAc%NTmWO&wa zaKlrLfVQ0MMHxlr4|1jj@an7K^0Z~wP6KTwo0h?2Bpr6~QiBS*?k>23$sV+HH^Wo2 z+!+jfXfsTCn4LU-Wh+6vu|!i_^lrM_5s-AC-Rzx3F{B%Pokx_3nRZsKz zTj`wLv|XN*9Tdl+$Q@Vh4N>n*0x{AULoe|1nilM}?)4>*VH%yUuhApR7s4@tQ?pu^ z)9$S3G)aDrMW4incOydnjH>c|xAs6gvOj$4cgtNplUeNV%0AhER&R9RWiQ~%6@;Hr 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 Bt#ig1xt&h*M8leJ_1hU*&IE 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 pGuBcpz@Q$&h39b6YrV>^ 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%0AKy$DpcN@+E2R| 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ൿZX~BHs=qz^8m;`{iGY}Ay2-!bFcx_ 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

GQT4;n1Ev{Jb@0DO^TZ?F!`0`L< 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

lkJK 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�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
wg14aM&s`*BlzCuz?bRo1Kc8tsXiR{VW_URYD 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 B(6Ix`bZAEd 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 xoL2p+q}_(&lj79>WM}sDgOR_nVUubFX$|wZ7{E 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 Rk{bNu{{T73m*zuWLjVJyM4$iw diff --git a/tools/server/server.cpp b/tools/server/server.cpp index 519704fad7..5e5698e672 100644 --- a/tools/server/server.cpp +++ b/tools/server/server.cpp @@ -5261,6 +5261,42 @@ int main(int argc, char ** argv) { svr->Get (params.api_prefix + "/slots", handle_slots); svr->Post(params.api_prefix + "/slots/:id_slot", handle_slots_action); + // SPA fallback route - serve index.html for any route that doesn't match API endpoints + // This enables client-side routing for dynamic routes like /chat/[id] + if (params.webui && params.public_path.empty()) { + // Only add fallback when using embedded static files + svr->Get(".*", [](const httplib::Request & req, httplib::Response & res) { + // Skip API routes - they should have been handled above + if (req.path.find("/v1/") != std::string::npos || + req.path.find("/health") != std::string::npos || + req.path.find("/metrics") != std::string::npos || + req.path.find("/props") != std::string::npos || + req.path.find("/models") != std::string::npos || + req.path.find("/api/tags") != std::string::npos || + req.path.find("/completions") != std::string::npos || + req.path.find("/chat/completions") != std::string::npos || + req.path.find("/embeddings") != std::string::npos || + req.path.find("/tokenize") != std::string::npos || + req.path.find("/detokenize") != std::string::npos || + req.path.find("/lora-adapters") != std::string::npos || + req.path.find("/slots") != std::string::npos) { + return false; // Let other handlers process API routes + } + + // Serve index.html for all other routes (SPA fallback) + if (req.get_header_value("Accept-Encoding").find("gzip") == std::string::npos) { + res.set_content("Error: gzip is not supported by this browser", "text/plain"); + } else { + res.set_header("Content-Encoding", "gzip"); + // COEP and COOP headers, required by pyodide (python interpreter) + res.set_header("Cross-Origin-Embedder-Policy", "require-corp"); + res.set_header("Cross-Origin-Opener-Policy", "same-origin"); + res.set_content(reinterpret_cast(index_html_gz), index_html_gz_len, "text/html; charset=utf-8"); + } + return false; + }); + } + // // Start the server // diff --git a/tools/server/tests/unit/test_basic.py b/tools/server/tests/unit/test_basic.py index 58ade52be6..829af2ebe7 100644 --- a/tools/server/tests/unit/test_basic.py +++ b/tools/server/tests/unit/test_basic.py @@ -92,7 +92,7 @@ def test_no_webui(): url = f"http://{server.server_host}:{server.server_port}" res = requests.get(url) assert res.status_code == 200 - assert "" in res.text + assert "" in res.text server.stop() # with --no-webui diff --git a/tools/server/webui/.gitignore b/tools/server/webui/.gitignore index a547bf36d8..cc54bb717f 100644 --- a/tools/server/webui/.gitignore +++ b/tools/server/webui/.gitignore @@ -1,24 +1,27 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - +test-results node_modules -dist -dist-ssr -*.local -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea +# Output +.output +.vercel +.netlify +.wrangler +/.svelte-kit +/build + +# OS .DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? +Thumbs.db + +# Env +.env +.env.* +!.env.example +!.env.test + +# Vite +vite.config.js.timestamp-* +vite.config.ts.timestamp-* + +*storybook.log +storybook-static diff --git a/tools/server/webui/.npmrc b/tools/server/webui/.npmrc new file mode 100644 index 0000000000..b6f27f1359 --- /dev/null +++ b/tools/server/webui/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/tools/server/webui/.prettierignore b/tools/server/webui/.prettierignore index c0cb165b37..7d74fe2468 100644 --- a/tools/server/webui/.prettierignore +++ b/tools/server/webui/.prettierignore @@ -1,10 +1,9 @@ -**/.vscode -**/.github -**/.git -**/.svn -**/.hg -**/node_modules -**/dist -**/build +# Package Managers +package-lock.json +pnpm-lock.yaml +yarn.lock +bun.lock +bun.lockb -*.config.js +# Miscellaneous +/static/ diff --git a/tools/server/webui/.prettierrc b/tools/server/webui/.prettierrc new file mode 100644 index 0000000000..8103a0b5d2 --- /dev/null +++ b/tools/server/webui/.prettierrc @@ -0,0 +1,16 @@ +{ + "useTabs": true, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 100, + "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"], + "overrides": [ + { + "files": "*.svelte", + "options": { + "parser": "svelte" + } + } + ], + "tailwindStylesheet": "./src/app.css" +} diff --git a/tools/server/webui/.storybook/ModeWatcherDecorator.svelte b/tools/server/webui/.storybook/ModeWatcherDecorator.svelte new file mode 100644 index 0000000000..8bded8b3f1 --- /dev/null +++ b/tools/server/webui/.storybook/ModeWatcherDecorator.svelte @@ -0,0 +1,36 @@ + + + + +{#if children} + {@const Component = children} + + +{/if} diff --git a/tools/server/webui/.storybook/TooltipProviderDecorator.svelte b/tools/server/webui/.storybook/TooltipProviderDecorator.svelte new file mode 100644 index 0000000000..9aad1eaa4a --- /dev/null +++ b/tools/server/webui/.storybook/TooltipProviderDecorator.svelte @@ -0,0 +1,13 @@ + + + + {@render children()} + diff --git a/tools/server/webui/.storybook/main.ts b/tools/server/webui/.storybook/main.ts new file mode 100644 index 0000000000..7145bcb7eb --- /dev/null +++ b/tools/server/webui/.storybook/main.ts @@ -0,0 +1,17 @@ +import type { StorybookConfig } from '@storybook/sveltekit'; + +const config: StorybookConfig = { + stories: ['../src/**/*.mdx', '../src/**/*.stories.@(js|ts|svelte)'], + addons: [ + '@storybook/addon-svelte-csf', + '@chromatic-com/storybook', + '@storybook/addon-docs', + '@storybook/addon-a11y', + '@storybook/addon-vitest' + ], + framework: { + name: '@storybook/sveltekit', + options: {} + } +}; +export default config; diff --git a/tools/server/webui/.storybook/preview.ts b/tools/server/webui/.storybook/preview.ts new file mode 100644 index 0000000000..fb91386af4 --- /dev/null +++ b/tools/server/webui/.storybook/preview.ts @@ -0,0 +1,34 @@ +import type { Preview } from '@storybook/sveltekit'; +import '../src/app.css'; +import ModeWatcherDecorator from './ModeWatcherDecorator.svelte'; +import TooltipProviderDecorator from './TooltipProviderDecorator.svelte'; + +const preview: Preview = { + parameters: { + controls: { + matchers: { + color: /(background|color)$/i, + date: /Date$/i + } + }, + backgrounds: { + disable: true + } + }, + decorators: [ + (story) => ({ + Component: ModeWatcherDecorator, + props: { + children: story + } + }), + (story) => ({ + Component: TooltipProviderDecorator, + props: { + children: story + } + }) + ] +}; + +export default preview; diff --git a/tools/server/webui/.storybook/vitest.setup.ts b/tools/server/webui/.storybook/vitest.setup.ts new file mode 100644 index 0000000000..e0c1753c84 --- /dev/null +++ b/tools/server/webui/.storybook/vitest.setup.ts @@ -0,0 +1,11 @@ +import { setProjectAnnotations } from '@storybook/sveltekit'; +import * as previewAnnotations from './preview'; +import { beforeAll } from 'vitest'; + +const project = setProjectAnnotations([previewAnnotations]); + +beforeAll(async () => { + if (project.beforeAll) { + await project.beforeAll(); + } +}); diff --git a/tools/server/webui/README.md b/tools/server/webui/README.md new file mode 100644 index 0000000000..9d16f34d86 --- /dev/null +++ b/tools/server/webui/README.md @@ -0,0 +1,66 @@ +# llama.cpp Web UI + +A modern, feature-rich web interface for llama.cpp built with SvelteKit. This UI provides an intuitive chat interface with advanced file handling, conversation management, and comprehensive model interaction capabilities. + +## Features + +- **Modern Chat Interface** - Clean, responsive design with dark/light mode +- **File Attachments** - Support for images, text files, PDFs, and audio with rich previews and drag-and-drop support +- **Conversation Management** - Create, edit, branch, and search conversations +- **Advanced Markdown** - Code highlighting, math formulas (KaTeX), and content blocks +- **Reasoning Content** - Support for models with thinking blocks +- **Keyboard Shortcuts** - Keyboard navigation (Shift+Ctrl/Cmd+O for new chat, Shift+Ctrl/Cmdt+E for edit conversation, Shift+Ctrl/Cmdt+D for delete conversation, Ctrl/Cmd+K for search, Ctrl/Cmd+V for paste, Ctrl/Cmd+B for opening/collapsing sidebar) +- **Request Tracking** - Monitor processing with slots endpoint integration +- **UI Testing** - Storybook component library with automated tests + +## Development + +Install dependencies: + +```bash +npm install +``` + +Start the development server + Storybook: + +```bash +npm run dev +``` + +This will start both the SvelteKit dev server and Storybook on port 6006. + +## Building + +Create a production build: + +```bash +npm run build +``` + +The build outputs static files to `../public` directory for deployment with llama.cpp server. + +## Testing + +Run the test suite: + +```bash +# E2E tests +npm run test:e2e + +# Unit tests +npm run test:unit + +# UI tests +npm run test:ui + +# All tests +npm run test +``` + +## Architecture + +- **Framework**: SvelteKit with Svelte 5 runes +- **Components**: ShadCN UI + bits-ui design system +- **Database**: IndexedDB with Dexie for local storage +- **Build**: Static adapter for deployment with llama.cpp server +- **Testing**: Playwright (E2E) + Vitest (unit) + Storybook (components) diff --git a/tools/server/webui/components.json b/tools/server/webui/components.json new file mode 100644 index 0000000000..224bd70acf --- /dev/null +++ b/tools/server/webui/components.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://shadcn-svelte.com/schema.json", + "tailwind": { + "css": "src/app.css", + "baseColor": "neutral" + }, + "aliases": { + "components": "$lib/components", + "utils": "$lib/components/ui/utils", + "ui": "$lib/components/ui", + "hooks": "$lib/hooks", + "lib": "$lib" + }, + "typescript": true, + "registry": "https://shadcn-svelte.com/registry" +} diff --git a/tools/server/webui/e2e/demo.test.ts b/tools/server/webui/e2e/demo.test.ts new file mode 100644 index 0000000000..9985ce113e --- /dev/null +++ b/tools/server/webui/e2e/demo.test.ts @@ -0,0 +1,6 @@ +import { expect, test } from '@playwright/test'; + +test('home page has expected h1', async ({ page }) => { + await page.goto('/'); + await expect(page.locator('h1')).toBeVisible(); +}); diff --git a/tools/server/webui/eslint.config.js b/tools/server/webui/eslint.config.js index 7c0d39b89b..5baea57f33 100644 --- a/tools/server/webui/eslint.config.js +++ b/tools/server/webui/eslint.config.js @@ -1,26 +1,49 @@ -import js from '@eslint/js' -import globals from 'globals' -import reactHooks from 'eslint-plugin-react-hooks' -import reactRefresh from 'eslint-plugin-react-refresh' -import tseslint from 'typescript-eslint' +// For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format +import storybook from 'eslint-plugin-storybook'; -export default tseslint.config( - { ignores: ['dist'] }, - { - extends: [js.configs.recommended, ...tseslint.configs.recommended], - files: ['**/*.{ts,tsx}'], - languageOptions: { - ecmaVersion: 2020, - globals: globals.browser, - }, - plugins: { - 'react-hooks': reactHooks, - 'react-refresh': reactRefresh, - }, - rules: { - ...reactHooks.configs.recommended.rules, - 'react-refresh/only-export-components': 'off', - '@typescript-eslint/no-unused-vars': 'off', - }, - }, -) +import prettier from 'eslint-config-prettier'; +import { includeIgnoreFile } from '@eslint/compat'; +import js from '@eslint/js'; +import svelte from 'eslint-plugin-svelte'; +import globals from 'globals'; +import { fileURLToPath } from 'node:url'; +import ts from 'typescript-eslint'; +import svelteConfig from './svelte.config.js'; + +const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url)); + +export default ts.config( + includeIgnoreFile(gitignorePath), + js.configs.recommended, + ...ts.configs.recommended, + ...svelte.configs.recommended, + prettier, + ...svelte.configs.prettier, + { + languageOptions: { + globals: { ...globals.browser, ...globals.node } + }, + rules: { + // typescript-eslint strongly recommend that you do not use the no-undef lint rule on TypeScript projects. + // see: https://typescript-eslint.io/troubleshooting/faqs/eslint/#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors + 'no-undef': 'off', + 'svelte/no-at-html-tags': 'off' + } + }, + { + files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'], + languageOptions: { + parserOptions: { + projectService: true, + extraFileExtensions: ['.svelte'], + parser: ts.parser, + svelteConfig + } + } + }, + { + // Exclude Storybook files from main ESLint rules + ignores: ['.storybook/**/*'] + }, + storybook.configs['flat/recommended'] +); diff --git a/tools/server/webui/index.html b/tools/server/webui/index.html deleted file mode 100644 index 471f46b3ad..0000000000 --- a/tools/server/webui/index.html +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - 🦙 llama.cpp - chat - - -

- - - diff --git a/tools/server/webui/package-lock.json b/tools/server/webui/package-lock.json index a05cbcfe5c..c300ecaa77 100644 --- a/tools/server/webui/package-lock.json +++ b/tools/server/webui/package-lock.json @@ -1,6620 +1,8486 @@ { - "name": "webui", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "webui", - "version": "0.0.0", - "dependencies": { - "@heroicons/react": "^2.2.0", - "@sec-ant/readable-stream": "^0.6.0", - "@tailwindcss/postcss": "^4.1.1", - "@tailwindcss/vite": "^4.1.1", - "@vscode/markdown-it-katex": "^1.1.1", - "autoprefixer": "^10.4.20", - "daisyui": "^5.0.12", - "dexie": "^4.0.11", - "highlight.js": "^11.10.0", - "katex": "^0.16.15", - "pdfjs-dist": "^5.2.133", - "postcss": "^8.4.49", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-dropzone": "^14.3.8", - "react-hot-toast": "^2.5.2", - "react-markdown": "^9.0.3", - "react-router": "^7.1.5", - "rehype-highlight": "^7.0.2", - "rehype-katex": "^7.0.1", - "remark-breaks": "^4.0.0", - "remark-gfm": "^4.0.0", - "remark-math": "^6.0.0", - "tailwindcss": "^4.1.1", - "textlinestream": "^1.1.1", - "vite-plugin-singlefile": "^2.0.3" - }, - "devDependencies": { - "@eslint/js": "^9.17.0", - "@types/markdown-it": "^14.1.2", - "@types/node": "^22.13.1", - "@types/react": "^18.3.18", - "@types/react-dom": "^18.3.5", - "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.17.0", - "eslint-plugin-react-hooks": "^5.0.0", - "eslint-plugin-react-refresh": "^0.4.16", - "fflate": "^0.8.2", - "globals": "^15.14.0", - "prettier": "^3.4.2", - "sass-embedded": "^1.83.4", - "typescript": "~5.6.2", - "typescript-eslint": "^8.18.2", - "vite": "^6.0.5" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", - "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz", - "integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.5", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.7", - "@babel/parser": "^7.26.7", - "@babel/template": "^7.25.9", - "@babel/traverse": "^7.26.7", - "@babel/types": "^7.26.7", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", - "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.26.5", - "@babel/types": "^7.26.5", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", - "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz", - "integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.26.7" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", - "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", - "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", - "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.25.9", - "@babel/parser": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz", - "integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.5", - "@babel/parser": "^7.26.7", - "@babel/template": "^7.25.9", - "@babel/types": "^7.26.7", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.26.7", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz", - "integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bufbuild/protobuf": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.2.3.tgz", - "integrity": "sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg==", - "devOptional": true, - "license": "(Apache-2.0 AND BSD-3-Clause)" - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", - "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", - "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", - "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", - "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", - "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", - "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", - "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", - "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", - "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", - "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", - "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", - "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", - "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", - "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", - "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", - "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", - "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", - "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", - "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", - "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", - "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", - "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", - "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", - "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", - "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", - "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", - "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.19.0.tgz", - "integrity": "sha512-rbq9/g38qjfqFLOVPvwjIvFFdNziEC5S65jmjPw5r6A//QH+W91akh9irMwjDN8zKUTak6W9EsAv4m/7Wnw0UQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", - "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.10.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@heroicons/react": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.2.0.tgz", - "integrity": "sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ==", - "license": "MIT", - "peerDependencies": { - "react": ">= 16 || ^19.0.0-rc" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", - "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@napi-rs/canvas": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.70.tgz", - "integrity": "sha512-nD6NGa4JbNYSZYsTnLGrqe9Kn/lCkA4ybXt8sx5ojDqZjr2i0TWAHxx/vhgfjX+i3hCdKWufxYwi7CfXqtITSA==", - "license": "MIT", - "optional": true, - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@napi-rs/canvas-android-arm64": "0.1.70", - "@napi-rs/canvas-darwin-arm64": "0.1.70", - "@napi-rs/canvas-darwin-x64": "0.1.70", - "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.70", - "@napi-rs/canvas-linux-arm64-gnu": "0.1.70", - "@napi-rs/canvas-linux-arm64-musl": "0.1.70", - "@napi-rs/canvas-linux-riscv64-gnu": "0.1.70", - "@napi-rs/canvas-linux-x64-gnu": "0.1.70", - "@napi-rs/canvas-linux-x64-musl": "0.1.70", - "@napi-rs/canvas-win32-x64-msvc": "0.1.70" - } - }, - "node_modules/@napi-rs/canvas-android-arm64": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.70.tgz", - "integrity": "sha512-I/YOuQ0wbkVYxVaYtCgN42WKTYxNqFA0gTcTrHIGG1jfpDSyZWII/uHcjOo4nzd19io6Y4+/BqP8E5hJgf9OmQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/canvas-darwin-arm64": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.70.tgz", - "integrity": "sha512-4pPGyXetHIHkw2TOJHujt3mkCP8LdDu8+CT15ld9Id39c752RcI0amDHSuMLMQfAjvusA9B5kKxazwjMGjEJpQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/canvas-darwin-x64": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.70.tgz", - "integrity": "sha512-+2N6Os9LbkmDMHL+raknrUcLQhsXzc5CSXRbXws9C3pv/mjHRVszQ9dhFUUe9FjfPhCJznO6USVdwOtu7pOrzQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.70.tgz", - "integrity": "sha512-QjscX9OaKq/990sVhSMj581xuqLgiaPVMjjYvWaCmAJRkNQ004QfoSMEm3FoTqM4DRoquP8jvuEXScVJsc1rqQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/canvas-linux-arm64-gnu": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.70.tgz", - "integrity": "sha512-LNakMOwwqwiHIwMpnMAbFRczQMQ7TkkMyATqFCOtUJNlE6LPP/QiUj/mlFrNbUn/hctqShJ60gWEb52ZTALbVw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/canvas-linux-arm64-musl": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.70.tgz", - "integrity": "sha512-wBTOllEYNfJCHOdZj9v8gLzZ4oY3oyPX8MSRvaxPm/s7RfEXxCyZ8OhJ5xAyicsDdbE5YBZqdmaaeP5+xKxvtg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/canvas-linux-riscv64-gnu": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.70.tgz", - "integrity": "sha512-GVUUPC8TuuFqHip0rxHkUqArQnlzmlXmTEBuXAWdgCv85zTCFH8nOHk/YCF5yo0Z2eOm8nOi90aWs0leJ4OE5Q==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/canvas-linux-x64-gnu": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.70.tgz", - "integrity": "sha512-/kvUa2lZRwGNyfznSn5t1ShWJnr/m5acSlhTV3eXECafObjl0VBuA1HJw0QrilLpb4Fe0VLywkpD1NsMoVDROQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/canvas-linux-x64-musl": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.70.tgz", - "integrity": "sha512-aqlv8MLpycoMKRmds7JWCfVwNf1fiZxaU7JwJs9/ExjTD8lX2KjsO7CTeAj5Cl4aEuzxUWbJPUUE2Qu9cZ1vfg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/canvas-win32-x64-msvc": { - "version": "0.1.70", - "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.70.tgz", - "integrity": "sha512-Q9QU3WIpwBTVHk4cPfBjGHGU4U0llQYRXgJtFtYqqGNEOKVN4OT6PQ+ve63xwIPODMpZ0HHyj/KLGc9CWc3EtQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.2.tgz", - "integrity": "sha512-6Fyg9yQbwJR+ykVdT9sid1oc2ewejS6h4wzQltmJfSW53N60G/ah9pngXGANdy9/aaE/TcUFpWosdm7JXS1WTQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.2.tgz", - "integrity": "sha512-K5GfWe+vtQ3kyEbihrimM38UgX57UqHp+oME7X/EX9Im6suwZfa7Hsr8AtzbJvukTpwMGs+4s29YMSO3rwWtsw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.2.tgz", - "integrity": "sha512-PSN58XG/V/tzqDb9kDGutUruycgylMlUE59f40ny6QIRNsTEIZsrNQTJKUN2keMMSmlzgunMFqyaGLmly39sug==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.2.tgz", - "integrity": "sha512-gQhK788rQJm9pzmXyfBB84VHViDERhAhzGafw+E5mUpnGKuxZGkMVDa3wgDFKT6ukLC5V7QTifzsUKdNVxp5qQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.2.tgz", - "integrity": "sha512-eiaHgQwGPpxLC3+zTAcdKl4VsBl3r0AiJOd1Um/ArEzAjN/dbPK1nROHrVkdnoE6p7Svvn04w3f/jEZSTVHunA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.2.tgz", - "integrity": "sha512-lhdiwQ+jf8pewYOTG4bag0Qd68Jn1v2gO1i0mTuiD+Qkt5vNfHVK/jrT7uVvycV8ZchlzXp5HDVmhpzjC6mh0g==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.2.tgz", - "integrity": "sha512-lfqTpWjSvbgQP1vqGTXdv+/kxIznKXZlI109WkIFPbud41bjigjNmOAAKoazmRGx+k9e3rtIdbq2pQZPV1pMig==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.2.tgz", - "integrity": "sha512-RGjqULqIurqqv+NJTyuPgdZhka8ImMLB32YwUle2BPTDqDoXNgwFjdjQC59FbSk08z0IqlRJjrJ0AvDQ5W5lpw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.2.tgz", - "integrity": "sha512-ZvkPiheyXtXlFqHpsdgscx+tZ7hoR59vOettvArinEspq5fxSDSgfF+L5wqqJ9R4t+n53nyn0sKxeXlik7AY9Q==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.2.tgz", - "integrity": "sha512-UlFk+E46TZEoxD9ufLKDBzfSG7Ki03fo6hsNRRRHF+KuvNZ5vd1RRVQm8YZlGsjcJG8R252XFK0xNPay+4WV7w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.2.tgz", - "integrity": "sha512-hJhfsD9ykx59jZuuoQgYT1GEcNNi3RCoEmbo5OGfG8RlHOiVS7iVNev9rhLKh7UBYq409f4uEw0cclTXx8nh8Q==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.2.tgz", - "integrity": "sha512-g/O5IpgtrQqPegvqopvmdCF9vneLE7eqYfdPWW8yjPS8f63DNam3U4ARL1PNNB64XHZDHKpvO2Giftf43puB8Q==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.2.tgz", - "integrity": "sha512-bSQijDC96M6PuooOuXHpvXUYiIwsnDmqGU8+br2U7iPoykNi9JtMUpN7K6xml29e0evK0/g0D1qbAUzWZFHY5Q==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.2.tgz", - "integrity": "sha512-49TtdeVAsdRuiUHXPrFVucaP4SivazetGUVH8CIxVsNsaPHV4PFkpLmH9LeqU/R4Nbgky9lzX5Xe1NrzLyraVA==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.2.tgz", - "integrity": "sha512-j+jFdfOycLIQ7FWKka9Zd3qvsIyugg5LeZuHF6kFlXo6MSOc6R1w37YUVy8VpAKd81LMWGi5g9J25P09M0SSIw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.2.tgz", - "integrity": "sha512-aDPHyM/D2SpXfSNCVWCxyHmOqN9qb7SWkY1+vaXqMNMXslZYnwh9V/UCudl6psyG0v6Ukj7pXanIpfZwCOEMUg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.2.tgz", - "integrity": "sha512-LQRkCyUBnAo7r8dbEdtNU08EKLCJMgAk2oP5H3R7BnUlKLqgR3dUjrLBVirmc1RK6U6qhtDw29Dimeer8d5hzQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.2.tgz", - "integrity": "sha512-wt8OhpQUi6JuPFkm1wbVi1BByeag87LDFzeKSXzIdGcX4bMLqORTtKxLoCbV57BHYNSUSOKlSL4BYYUghainYA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.2.tgz", - "integrity": "sha512-rUrqINax0TvrPBXrFKg0YbQx18NpPN3NNrgmaao9xRNbTwek7lOXObhx8tQy8gelmQ/gLaGy1WptpU2eKJZImg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.6.0.tgz", - "integrity": "sha512-uiBh8DrB5FN35gP6/o8JEhEQ7/ci1jUsOZO/VMUjyvTpjtV54VstOXVj1TvTj/wsT23pfX6butxxh3qufsW3+g==", - "license": "MIT" - }, - "node_modules/@tailwindcss/node": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.1.tgz", - "integrity": "sha512-xvlh4pvfG/bkv0fEtJDABAm1tjtSmSyi2QmS4zyj1EKNI1UiOYiUq1IphSwDsNJ5vJ9cWEGs4rJXpUdCN2kujQ==", - "license": "MIT", - "dependencies": { - "enhanced-resolve": "^5.18.1", - "jiti": "^2.4.2", - "lightningcss": "1.29.2", - "tailwindcss": "4.1.1" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.1.tgz", - "integrity": "sha512-7+YBgnPQ4+jv6B6WVOerJ6WOzDzNJXrRKDts674v6TKAqFqYRr9+EBtSziO7nNcwQ8JtoZNMeqA+WJDjtCM/7w==", - "license": "MIT", - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.1", - "@tailwindcss/oxide-darwin-arm64": "4.1.1", - "@tailwindcss/oxide-darwin-x64": "4.1.1", - "@tailwindcss/oxide-freebsd-x64": "4.1.1", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.1", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.1", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.1", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.1", - "@tailwindcss/oxide-linux-x64-musl": "4.1.1", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.1", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.1" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.1.tgz", - "integrity": "sha512-gTyRzfdParpoCU1yyUC/iN6XK6T0Ra4bDlF8Aeul5NP9cLzKEZDogdNVNGv5WZmCDkVol7qlex7TMmcfytMmmw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.1.tgz", - "integrity": "sha512-dI0QbdMWBvLB3MtaTKetzUKG9CUUQow8JSP4Nm+OxVokeZ+N+f1OmZW/hW1LzMxpx9RQCBgSRL+IIvKRat5Wdg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.1.tgz", - "integrity": "sha512-2Y+NPQOTRBCItshPgY/CWg4bKi7E9evMg4bgdb6h9iZObCZLOe3doPcuSxGS3DB0dKyMFKE8pTdWtFUbxZBMSA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.1.tgz", - "integrity": "sha512-N97NGMsB/7CHShbc5ube4dcsW/bYENkBrg8yWi8ieN9boYVRdw3cZviVryV/Nfu9bKbBV9kUvduFF2qBI7rEqg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.1.tgz", - "integrity": "sha512-33Lk6KbHnUZbXqza6RWNFo9wqPQ4+H5BAn1CkUUfC1RZ1vYbyDN6+iJPj53wmnWJ3mhRI8jWt3Jt1fO02IVdUQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.1.tgz", - "integrity": "sha512-LyW35RzSUy+80WYScv03HKasAUmMFDaSbNpWfk1gG5gEE9kuRGnDzSrqMoLAmY/kzMCYP/1kqmUiAx8EFLkI2A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.1.tgz", - "integrity": "sha512-1KPnDMlHdqjPTUSFjx55pafvs8RZXRgxfeRgUrukwDKkuj7gFk28vW3Mx65YdiugAc9NWs3VgueZWaM1Po6uGw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.1.tgz", - "integrity": "sha512-4WdzA+MRlsinEEE6yxNMLJxpw0kE9XVipbAKdTL8BeUpyC2TdA3TL46lBulXzKp3BIxh3nqyR/UCqzl5o+3waQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.1.tgz", - "integrity": "sha512-q7Ugbw3ARcjCW2VMUYrcMbJ6aMQuWPArBBE2EqC/swPZTdGADvMQSlvR0VKusUM4HoSsO7ZbvcZ53YwR57+AKw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.1.tgz", - "integrity": "sha512-0KpqsovgHcIzm7eAGzzEZsEs0/nPYXnRBv+aPq/GehpNQuE/NAQu+YgZXIIof+VflDFuyXOEnaFr7T5MZ1INhA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.1.tgz", - "integrity": "sha512-B1mjeXNS26kBOHv5sXARf6Wd0PWHV9x1TDlW0ummrBUOUAxAy5wcy4Nii1wzNvCdvC448hgiL06ylhwAbNthmg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/postcss": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.1.tgz", - "integrity": "sha512-GX9AEM+msH0i2Yh1b6CuDRaZRo3kmbvIrLbSfvJ53C3uaAgsQ//fTQAh9HMQ6t1a9zvoUptlYqG//plWsBQTCw==", - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.1.1", - "@tailwindcss/oxide": "4.1.1", - "postcss": "^8.4.41", - "tailwindcss": "4.1.1" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.1.tgz", - "integrity": "sha512-tFTkRZwXq4XKr3S2dUZBxy80wbWYHdDSsu4QOB1yE1HJFKjfxKVpXtup4dyTVdQcLInoHC9lZXFPHnjoBP774g==", - "license": "MIT", - "dependencies": { - "@tailwindcss/node": "4.1.1", - "@tailwindcss/oxide": "4.1.1", - "tailwindcss": "4.1.1" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", - "license": "MIT" - }, - "node_modules/@types/debug": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", - "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "license": "MIT" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", - "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/hast": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", - "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/katex": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz", - "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==", - "license": "MIT" - }, - "node_modules/@types/linkify-it": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", - "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/markdown-it": { - "version": "14.1.2", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", - "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/linkify-it": "^5", - "@types/mdurl": "^2" - } - }, - "node_modules/@types/mdast": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", - "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", - "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", - "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "22.13.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.1.tgz", - "integrity": "sha512-jK8uzQlrvXqEU91UxiK5J7pKHyzgnI1Qnl0QDHIgVGuolJhRb9EEl28Cj9b3rGR8B2lhFCtvIm5os8lFnO/1Ew==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.14", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", - "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.3.18", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", - "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", - "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^18.0.0" - } - }, - "node_modules/@types/unist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", - "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.23.0.tgz", - "integrity": "sha512-vBz65tJgRrA1Q5gWlRfvoH+w943dq9K1p1yDBY2pc+a1nbBLZp7fB9+Hk8DaALUbzjqlMfgaqlVPT1REJdkt/w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.23.0", - "@typescript-eslint/type-utils": "8.23.0", - "@typescript-eslint/utils": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.23.0.tgz", - "integrity": "sha512-h2lUByouOXFAlMec2mILeELUbME5SZRN/7R9Cw2RD2lRQQY08MWMM+PmVVKKJNK1aIwqTo9t/0CvOxwPbRIE2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.23.0", - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/typescript-estree": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.23.0.tgz", - "integrity": "sha512-OGqo7+dXHqI7Hfm+WqkZjKjsiRtFUQHPdGMXzk5mYXhJUedO7e/Y7i8AK3MyLMgZR93TX4bIzYrfyVjLC+0VSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.23.0.tgz", - "integrity": "sha512-iIuLdYpQWZKbiH+RkCGc6iu+VwscP5rCtQ1lyQ7TYuKLrcZoeJVpcLiG8DliXVkUxirW/PWlmS+d6yD51L9jvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "8.23.0", - "@typescript-eslint/utils": "8.23.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.23.0.tgz", - "integrity": "sha512-1sK4ILJbCmZOTt9k4vkoulT6/y5CHJ1qUYxqpF1K/DBAd8+ZUL4LlSCxOssuH5m4rUaaN0uS0HlVPvd45zjduQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.23.0.tgz", - "integrity": "sha512-LcqzfipsB8RTvH8FX24W4UUFk1bl+0yTOf9ZA08XngFwMg4Kj8A+9hwz8Cr/ZS4KwHrmo9PJiLZkOt49vPnuvQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/visitor-keys": "8.23.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.23.0.tgz", - "integrity": "sha512-uB/+PSo6Exu02b5ZEiVtmY6RVYO7YU5xqgzTIVZwTHvvK3HsL8tZZHFaTLFtRG3CsV4A5mhOv+NZx5BlhXPyIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.23.0", - "@typescript-eslint/types": "8.23.0", - "@typescript-eslint/typescript-estree": "8.23.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.23.0.tgz", - "integrity": "sha512-oWWhcWDLwDfu++BGTZcmXWqpwtkwb5o7fxUIGksMQQDSdPW9prsSnfIOZMlsj4vBOSrcnjIUZMiIjODgGosFhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.23.0", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "license": "ISC" - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", - "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.26.0", - "@babel/plugin-transform-react-jsx-self": "^7.25.9", - "@babel/plugin-transform-react-jsx-source": "^7.25.9", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/@vscode/markdown-it-katex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vscode/markdown-it-katex/-/markdown-it-katex-1.1.1.tgz", - "integrity": "sha512-3KTlbsRBPJQLE2YmLL7K6nunTlU+W9T5+FjfNdWuIUKgxSS6HWLQHaO3L4MkJi7z7MpIPpY+g4N+cWNBPE/MSA==", - "license": "MIT", - "dependencies": { - "katex": "^0.16.4" - } - }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "devOptional": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/attr-accept": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.5.tgz", - "integrity": "sha512-0bDNnY/u6pPwHDMoF0FieU354oBi0a8rD9FcsLwzcGWbc8KS8KPIi7y+s13OlVY+gMWc/9xEMUgNE6Qm8ZllYQ==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-builder": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/buffer-builder/-/buffer-builder-0.2.0.tgz", - "integrity": "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==", - "devOptional": true, - "license": "MIT/X11" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001697", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001697.tgz", - "integrity": "sha512-GwNPlWJin8E+d7Gxq96jxM6w0w+VFeyyXRsjU58emtkYqnbwHqXm5uT2uCmO0RQE9htWknOP4xtBlLmM/gWxvQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/colorjs.io": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz", - "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/comma-separated-tokens": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", - "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT" - }, - "node_modules/daisyui": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-5.0.12.tgz", - "integrity": "sha512-01DU0eYBcHgPtuf5fxcrkGkIN6/Uyaqmkle5Yo3ZyW9YVAu036ALZbjv2KH5euvUbeQ4r9q3gAarGcf7Tywhng==", - "license": "MIT", - "funding": { - "url": "https://github.com/saadeghi/daisyui?sponsor=1" - } - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/detect-libc": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/devlop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", - "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/dexie": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/dexie/-/dexie-4.0.11.tgz", - "integrity": "sha512-SOKO002EqlvBYYKQSew3iymBoN2EQ4BDw/3yprjh7kAfFzjBYkaMNa/pZvcA7HSWlcKSQb9XhPe3wKyQ0x4A8A==", - "license": "Apache-2.0" - }, - "node_modules/electron-to-chromium": { - "version": "1.5.91", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.91.tgz", - "integrity": "sha512-sNSHHyq048PFmZY4S90ax61q+gLCs0X0YmcOII9wG9S2XwbVr+h4VW2wWhnbp/Eys3cCwTxVF292W3qPaxIapQ==", - "license": "ISC" - }, - "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/esbuild": { - "version": "0.24.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", - "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.24.2", - "@esbuild/android-arm": "0.24.2", - "@esbuild/android-arm64": "0.24.2", - "@esbuild/android-x64": "0.24.2", - "@esbuild/darwin-arm64": "0.24.2", - "@esbuild/darwin-x64": "0.24.2", - "@esbuild/freebsd-arm64": "0.24.2", - "@esbuild/freebsd-x64": "0.24.2", - "@esbuild/linux-arm": "0.24.2", - "@esbuild/linux-arm64": "0.24.2", - "@esbuild/linux-ia32": "0.24.2", - "@esbuild/linux-loong64": "0.24.2", - "@esbuild/linux-mips64el": "0.24.2", - "@esbuild/linux-ppc64": "0.24.2", - "@esbuild/linux-riscv64": "0.24.2", - "@esbuild/linux-s390x": "0.24.2", - "@esbuild/linux-x64": "0.24.2", - "@esbuild/netbsd-arm64": "0.24.2", - "@esbuild/netbsd-x64": "0.24.2", - "@esbuild/openbsd-arm64": "0.24.2", - "@esbuild/openbsd-x64": "0.24.2", - "@esbuild/sunos-x64": "0.24.2", - "@esbuild/win32-arm64": "0.24.2", - "@esbuild/win32-ia32": "0.24.2", - "@esbuild/win32-x64": "0.24.2" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.19.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.19.0.tgz", - "integrity": "sha512-ug92j0LepKlbbEv6hD911THhoRHmbdXt2gX+VDABAW/Ir7D3nqKdv5Pf5vtlyY6HQMTEP2skXY43ueqTCWssEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.0", - "@eslint/core": "^0.10.0", - "@eslint/eslintrc": "^3.2.0", - "@eslint/js": "9.19.0", - "@eslint/plugin-kit": "^0.2.5", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.1", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.2.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", - "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.18.tgz", - "integrity": "sha512-IRGEoFn3OKalm3hjfolEWGqoF/jPqeEYFp+C8B0WMzwGwBMvlRDQd06kghDhF0C61uJ6WfSDhEZE/sAQjduKgw==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "eslint": ">=8.40" - } - }, - "node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-util-is-identifier-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", - "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", - "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fflate": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", - "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/file-selector": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-2.1.2.tgz", - "integrity": "sha512-QgXo+mXTe8ljeqUFaX3QVHc5osSItJ/Km+xpocx0aSqWGMSCf6qYs/VnzZgS864Pjn5iceMRFigeAV7AfTlaig==", - "license": "MIT", - "dependencies": { - "tslib": "^2.7.0" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", - "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "15.14.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", - "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/goober": { - "version": "2.1.16", - "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.16.tgz", - "integrity": "sha512-erjk19y1U33+XAMe1VTvIONHYoSqE4iS7BYUZfHaqeohLmnC0FdxEh7rQU+6MZ4OajItzjZFSRtVANrQwNq6/g==", - "license": "MIT", - "peerDependencies": { - "csstype": "^3.0.10" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true, - "license": "MIT" - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/hast-util-from-dom": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", - "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", - "license": "ISC", - "dependencies": { - "@types/hast": "^3.0.0", - "hastscript": "^9.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-html": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", - "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.1.0", - "hast-util-from-parse5": "^8.0.0", - "parse5": "^7.0.0", - "vfile": "^6.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-html-isomorphic": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", - "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-from-dom": "^5.0.0", - "hast-util-from-html": "^2.0.0", - "unist-util-remove-position": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-from-parse5": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.2.tgz", - "integrity": "sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "devlop": "^1.0.0", - "hastscript": "^9.0.0", - "property-information": "^6.0.0", - "vfile": "^6.0.0", - "vfile-location": "^5.0.0", - "web-namespaces": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-is-element": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", - "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-parse-selector": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", - "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-jsx-runtime": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.2.tgz", - "integrity": "sha512-1ngXYb+V9UT5h+PxNRa1O1FYguZK/XL+gkeqvp7EdHlB9oHUG0eYRo/vY5inBdcqo3RkPMC58/H94HvkbfGdyg==", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "devlop": "^1.0.0", - "estree-util-is-identifier-name": "^3.0.0", - "hast-util-whitespace": "^3.0.0", - "mdast-util-mdx-expression": "^2.0.0", - "mdast-util-mdx-jsx": "^3.0.0", - "mdast-util-mdxjs-esm": "^2.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^1.0.0", - "unist-util-position": "^5.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-text": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", - "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/unist": "^3.0.0", - "hast-util-is-element": "^3.0.0", - "unist-util-find-after": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", - "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hastscript": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.0.tgz", - "integrity": "sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "comma-separated-tokens": "^2.0.0", - "hast-util-parse-selector": "^4.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/highlight.js": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", - "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/html-url-attributes": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-url-attributes/-/html-url-attributes-3.0.1.tgz", - "integrity": "sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", - "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inline-style-parser": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", - "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", - "license": "MIT" - }, - "node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/katex": { - "version": "0.16.21", - "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.21.tgz", - "integrity": "sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==", - "funding": [ - "https://opencollective.com/katex", - "https://github.com/sponsors/katex" - ], - "license": "MIT", - "dependencies": { - "commander": "^8.3.0" - }, - "bin": { - "katex": "cli.js" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lightningcss": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.2.tgz", - "integrity": "sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==", - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-darwin-arm64": "1.29.2", - "lightningcss-darwin-x64": "1.29.2", - "lightningcss-freebsd-x64": "1.29.2", - "lightningcss-linux-arm-gnueabihf": "1.29.2", - "lightningcss-linux-arm64-gnu": "1.29.2", - "lightningcss-linux-arm64-musl": "1.29.2", - "lightningcss-linux-x64-gnu": "1.29.2", - "lightningcss-linux-x64-musl": "1.29.2", - "lightningcss-win32-arm64-msvc": "1.29.2", - "lightningcss-win32-x64-msvc": "1.29.2" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.2.tgz", - "integrity": "sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.2.tgz", - "integrity": "sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.2.tgz", - "integrity": "sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.2.tgz", - "integrity": "sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==", - "cpu": [ - "arm" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.2.tgz", - "integrity": "sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.2.tgz", - "integrity": "sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.2.tgz", - "integrity": "sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.2.tgz", - "integrity": "sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.2.tgz", - "integrity": "sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.29.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.2.tgz", - "integrity": "sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/longest-streak": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", - "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lowlight": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-3.3.0.tgz", - "integrity": "sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.0.0", - "highlight.js": "~11.11.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/markdown-table": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", - "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", - "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", - "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark": "^4.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", - "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-gfm-autolink-literal": "^2.0.0", - "mdast-util-gfm-footnote": "^2.0.0", - "mdast-util-gfm-strikethrough": "^2.0.0", - "mdast-util-gfm-table": "^2.0.0", - "mdast-util-gfm-task-list-item": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", - "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "ccount": "^2.0.0", - "devlop": "^1.0.0", - "mdast-util-find-and-replace": "^3.0.0", - "micromark-util-character": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", - "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", - "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", - "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", - "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-math": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", - "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "longest-streak": "^3.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.1.0", - "unist-util-remove-position": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", - "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", - "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "ccount": "^2.0.0", - "devlop": "^1.1.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-stringify-position": "^4.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", - "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "devlop": "^1.0.0", - "mdast-util-from-markdown": "^2.0.0", - "mdast-util-to-markdown": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-newline-to-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz", - "integrity": "sha512-MbgeFca0hLYIEx/2zGsszCSEJJ1JSCdiY5xQxRcLDDGa8EPvlLPupJ4DSajbMPAnC0je8jfb9TiUATnxxrHUog==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-find-and-replace": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-phrasing": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", - "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", - "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "@ungap/structured-clone": "^1.0.0", - "devlop": "^1.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "trim-lines": "^3.0.0", - "unist-util-position": "^5.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", - "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "@types/unist": "^3.0.0", - "longest-streak": "^3.0.0", - "mdast-util-phrasing": "^4.0.0", - "mdast-util-to-string": "^4.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-decode-string": "^2.0.0", - "unist-util-visit": "^5.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", - "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromark": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", - "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", - "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "devlop": "^1.0.0", - "micromark-factory-destination": "^2.0.0", - "micromark-factory-label": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-factory-title": "^2.0.0", - "micromark-factory-whitespace": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-html-tag-name": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-subtokenize": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", - "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", - "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^2.0.0", - "micromark-extension-gfm-footnote": "^2.0.0", - "micromark-extension-gfm-strikethrough": "^2.0.0", - "micromark-extension-gfm-table": "^2.0.0", - "micromark-extension-gfm-tagfilter": "^2.0.0", - "micromark-extension-gfm-task-list-item": "^2.0.0", - "micromark-util-combine-extensions": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", - "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", - "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-core-commonmark": "^2.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-normalize-identifier": "^2.0.0", - "micromark-util-sanitize-uri": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", - "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-classify-character": "^2.0.0", - "micromark-util-resolve-all": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", - "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", - "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", - "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-math": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", - "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", - "license": "MIT", - "dependencies": { - "@types/katex": "^0.16.0", - "devlop": "^1.0.0", - "katex": "^0.16.0", - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-factory-destination": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", - "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", - "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", - "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", - "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", - "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^2.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", - "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", - "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", - "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", - "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", - "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", - "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^2.0.0", - "micromark-util-decode-numeric-character-reference": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", - "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-html-tag-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", - "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", - "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", - "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", - "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^2.0.0", - "micromark-util-encode": "^2.0.0", - "micromark-util-symbol": "^2.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.4.tgz", - "integrity": "sha512-N6hXjrin2GTJDe3MVjf5FuXpm12PGm80BrUAeub9XFXca8JZbP+oIwY4LJSVwFUCL1IPm/WwSVUN7goFHmSGGQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "devlop": "^1.0.0", - "micromark-util-chunked": "^2.0.0", - "micromark-util-symbol": "^2.0.0", - "micromark-util-types": "^2.0.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", - "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", - "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "license": "MIT", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.8", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", - "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "license": "MIT" - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", - "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/@types/unist": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", - "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", - "license": "MIT" - }, - "node_modules/parse5": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", - "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", - "license": "MIT", - "dependencies": { - "entities": "^4.5.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pdfjs-dist": { - "version": "5.2.133", - "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.2.133.tgz", - "integrity": "sha512-abE6ZWDxztt+gGFzfm4bX2ggfxUk9wsDEoFzIJm9LozaY3JdXR7jyLK4Bjs+XLXplCduuWS1wGhPC4tgTn/kzg==", - "license": "Apache-2.0", - "engines": { - "node": ">=20.16.0 || >=22.3.0" - }, - "optionalDependencies": { - "@napi-rs/canvas": "^0.1.67" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", - "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", - "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/property-information": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", - "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-dropzone": { - "version": "14.3.8", - "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.3.8.tgz", - "integrity": "sha512-sBgODnq+lcA4P296DY4wacOZz3JFpD99fp+hb//iBO2HHnyeZU3FwWyXJ6salNpqQdsZrgMrotuko/BdJMV8Ug==", - "license": "MIT", - "dependencies": { - "attr-accept": "^2.2.4", - "file-selector": "^2.1.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">= 10.13" - }, - "peerDependencies": { - "react": ">= 16.8 || 18.0.0" - } - }, - "node_modules/react-hot-toast": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.5.2.tgz", - "integrity": "sha512-Tun3BbCxzmXXM7C+NI4qiv6lT0uwGh4oAfeJyNOjYUejTsm35mK9iCaYLGv8cBz9L5YxZLx/2ii7zsIwPtPUdw==", - "license": "MIT", - "dependencies": { - "csstype": "^3.1.3", - "goober": "^2.1.16" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": ">=16", - "react-dom": ">=16" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "license": "MIT" - }, - "node_modules/react-markdown": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-9.0.3.tgz", - "integrity": "sha512-Yk7Z94dbgYTOrdk41Z74GoKA7rThnsbbqBTRYuxoe08qvfQ9tJVhmAKw6BJS/ZORG7kTy/s1QvYzSuaoBA1qfw==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "devlop": "^1.0.0", - "hast-util-to-jsx-runtime": "^2.0.0", - "html-url-attributes": "^3.0.0", - "mdast-util-to-hast": "^13.0.0", - "remark-parse": "^11.0.0", - "remark-rehype": "^11.0.0", - "unified": "^11.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - }, - "peerDependencies": { - "@types/react": ">=18", - "react": ">=18" - } - }, - "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.5.tgz", - "integrity": "sha512-8BUF+hZEU4/z/JD201yK6S+UYhsf58bzYIDq2NS1iGpwxSXDu7F+DeGSkIXMFBuHZB21FSiCzEcUb18cQNdRkA==", - "license": "MIT", - "dependencies": { - "@types/cookie": "^0.6.0", - "cookie": "^1.0.1", - "set-cookie-parser": "^2.6.0", - "turbo-stream": "2.4.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - } - } - }, - "node_modules/rehype-highlight": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rehype-highlight/-/rehype-highlight-7.0.2.tgz", - "integrity": "sha512-k158pK7wdC2qL3M5NcZROZ2tR/l7zOzjxXd5VGdcfIyoijjQqpHd3JKtYSBDpDZ38UI2WJWuFAtkMDxmx5kstA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "hast-util-to-text": "^4.0.0", - "lowlight": "^3.0.0", - "unist-util-visit": "^5.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/rehype-katex": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", - "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/katex": "^0.16.0", - "hast-util-from-html-isomorphic": "^2.0.0", - "hast-util-to-text": "^4.0.0", - "katex": "^0.16.0", - "unist-util-visit-parents": "^6.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-breaks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz", - "integrity": "sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-newline-to-break": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", - "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-gfm": "^3.0.0", - "micromark-extension-gfm": "^3.0.0", - "remark-parse": "^11.0.0", - "remark-stringify": "^11.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-math": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", - "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-math": "^3.0.0", - "micromark-extension-math": "^3.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", - "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-from-markdown": "^2.0.0", - "micromark-util-types": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.1.tgz", - "integrity": "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==", - "license": "MIT", - "dependencies": { - "@types/hast": "^3.0.0", - "@types/mdast": "^4.0.0", - "mdast-util-to-hast": "^13.0.0", - "unified": "^11.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", - "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^4.0.0", - "mdast-util-to-markdown": "^2.0.0", - "unified": "^11.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.34.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.2.tgz", - "integrity": "sha512-sBDUoxZEaqLu9QeNalL8v3jw6WjPku4wfZGyTU7l7m1oC+rpRihXc/n/H+4148ZkGz5Xli8CHMns//fFGKvpIQ==", - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.2", - "@rollup/rollup-android-arm64": "4.34.2", - "@rollup/rollup-darwin-arm64": "4.34.2", - "@rollup/rollup-darwin-x64": "4.34.2", - "@rollup/rollup-freebsd-arm64": "4.34.2", - "@rollup/rollup-freebsd-x64": "4.34.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.2", - "@rollup/rollup-linux-arm-musleabihf": "4.34.2", - "@rollup/rollup-linux-arm64-gnu": "4.34.2", - "@rollup/rollup-linux-arm64-musl": "4.34.2", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.2", - "@rollup/rollup-linux-riscv64-gnu": "4.34.2", - "@rollup/rollup-linux-s390x-gnu": "4.34.2", - "@rollup/rollup-linux-x64-gnu": "4.34.2", - "@rollup/rollup-linux-x64-musl": "4.34.2", - "@rollup/rollup-win32-arm64-msvc": "4.34.2", - "@rollup/rollup-win32-ia32-msvc": "4.34.2", - "@rollup/rollup-win32-x64-msvc": "4.34.2", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "devOptional": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/sass-embedded": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.83.4.tgz", - "integrity": "sha512-Hf2burRA/y5PGxsg6jB9UpoK/xZ6g/pgrkOcdl6j+rRg1Zj8XhGKZ1MTysZGtTPUUmiiErqzkP5+Kzp95yv9GQ==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "@bufbuild/protobuf": "^2.0.0", - "buffer-builder": "^0.2.0", - "colorjs.io": "^0.5.0", - "immutable": "^5.0.2", - "rxjs": "^7.4.0", - "supports-color": "^8.1.1", - "sync-child-process": "^1.0.2", - "varint": "^6.0.0" - }, - "bin": { - "sass": "dist/bin/sass.js" - }, - "engines": { - "node": ">=16.0.0" - }, - "optionalDependencies": { - "sass-embedded-android-arm": "1.83.4", - "sass-embedded-android-arm64": "1.83.4", - "sass-embedded-android-ia32": "1.83.4", - "sass-embedded-android-riscv64": "1.83.4", - "sass-embedded-android-x64": "1.83.4", - "sass-embedded-darwin-arm64": "1.83.4", - "sass-embedded-darwin-x64": "1.83.4", - "sass-embedded-linux-arm": "1.83.4", - "sass-embedded-linux-arm64": "1.83.4", - "sass-embedded-linux-ia32": "1.83.4", - "sass-embedded-linux-musl-arm": "1.83.4", - "sass-embedded-linux-musl-arm64": "1.83.4", - "sass-embedded-linux-musl-ia32": "1.83.4", - "sass-embedded-linux-musl-riscv64": "1.83.4", - "sass-embedded-linux-musl-x64": "1.83.4", - "sass-embedded-linux-riscv64": "1.83.4", - "sass-embedded-linux-x64": "1.83.4", - "sass-embedded-win32-arm64": "1.83.4", - "sass-embedded-win32-ia32": "1.83.4", - "sass-embedded-win32-x64": "1.83.4" - } - }, - "node_modules/sass-embedded-android-arm": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.83.4.tgz", - "integrity": "sha512-9Z4pJAOgEkXa3VDY/o+U6l5XvV0mZTJcSl0l/mSPHihjAHSpLYnOW6+KOWeM8dxqrsqTYcd6COzhanI/a++5Gw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-android-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.83.4.tgz", - "integrity": "sha512-tgX4FzmbVqnQmD67ZxQDvI+qFNABrboOQgwsG05E5bA/US42zGajW9AxpECJYiMXVOHmg+d81ICbjb0fsVHskw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-android-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.83.4.tgz", - "integrity": "sha512-RsFOziFqPcfZXdFRULC4Ayzy9aK6R6FwQ411broCjlOBX+b0gurjRadkue3cfUEUR5mmy0KeCbp7zVKPLTK+5Q==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-android-riscv64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.83.4.tgz", - "integrity": "sha512-EHwh0nmQarBBrMRU928eTZkFGx19k/XW2YwbPR4gBVdWLkbTgCA5aGe8hTE6/1zStyx++3nDGvTZ78+b/VvvLg==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-android-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.83.4.tgz", - "integrity": "sha512-0PgQNuPWYy1jEOEPDVsV89KfqOsMLIp9CSbjBY7jRcwRhyVAcigqrUG6bDeNtojHUYKA1kU+Eh/85WxOHUOgBw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-darwin-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.83.4.tgz", - "integrity": "sha512-rp2ywymWc3nymnSnAFG5R/8hvxWCsuhK3wOnD10IDlmNB7o4rzKby1c+2ZfpQGowlYGWsWWTgz8FW2qzmZsQRw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-darwin-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.83.4.tgz", - "integrity": "sha512-kLkN2lXz9PCgGfDS8Ev5YVcl/V2173L6379en/CaFuJJi7WiyPgBymW7hOmfCt4uO4R1y7CP2Uc08DRtZsBlAA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-arm": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.83.4.tgz", - "integrity": "sha512-nL90ryxX2lNmFucr9jYUyHHx21AoAgdCL1O5Ltx2rKg2xTdytAGHYo2MT5S0LIeKLa/yKP/hjuSvrbICYNDvtA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.83.4.tgz", - "integrity": "sha512-E0zjsZX2HgESwyqw31EHtI39DKa7RgK7nvIhIRco1d0QEw227WnoR9pjH3M/ZQy4gQj3GKilOFHM5Krs/omeIA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.83.4.tgz", - "integrity": "sha512-ew5HpchSzgAYbQoriRh8QhlWn5Kw2nQ2jHoV9YLwGKe3fwwOWA0KDedssvDv7FWnY/FCqXyymhLd6Bxae4Xquw==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-arm": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.83.4.tgz", - "integrity": "sha512-0RrJRwMrmm+gG0VOB5b5Cjs7Sd+lhqpQJa6EJNEaZHljJokEfpE5GejZsGMRMIQLxEvVphZnnxl6sonCGFE/QQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.83.4.tgz", - "integrity": "sha512-IzMgalf6MZOxgp4AVCgsaWAFDP/IVWOrgVXxkyhw29fyAEoSWBJH4k87wyPhEtxSuzVHLxKNbc8k3UzdWmlBFg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.83.4.tgz", - "integrity": "sha512-LLb4lYbcxPzX4UaJymYXC+WwokxUlfTJEFUv5VF0OTuSsHAGNRs/rslPtzVBTvMeG9TtlOQDhku1F7G6iaDotA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-riscv64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.83.4.tgz", - "integrity": "sha512-zoKlPzD5Z13HKin1UGR74QkEy+kZEk2AkGX5RelRG494mi+IWwRuWCppXIovor9+BQb9eDWPYPoMVahwN5F7VA==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-musl-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.83.4.tgz", - "integrity": "sha512-hB8+/PYhfEf2zTIcidO5Bpof9trK6WJjZ4T8g2MrxQh8REVtdPcgIkoxczRynqybf9+fbqbUwzXtiUao2GV+vQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-riscv64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.83.4.tgz", - "integrity": "sha512-83fL4n+oeDJ0Y4KjASmZ9jHS1Vl9ESVQYHMhJE0i4xDi/P3BNarm2rsKljq/QtrwGpbqwn8ujzOu7DsNCMDSHA==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-linux-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.83.4.tgz", - "integrity": "sha512-NlnGdvCmTD5PK+LKXlK3sAuxOgbRIEoZfnHvxd157imCm/s2SYF/R28D0DAAjEViyI8DovIWghgbcqwuertXsA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-win32-arm64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.83.4.tgz", - "integrity": "sha512-J2BFKrEaeSrVazU2qTjyQdAk+MvbzJeTuCET0uAJEXSKtvQ3AzxvzndS7LqkDPbF32eXAHLw8GVpwcBwKbB3Uw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-win32-ia32": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.83.4.tgz", - "integrity": "sha512-uPAe9T/5sANFhJS5dcfAOhOJy8/l2TRYG4r+UO3Wp4yhqbN7bggPvY9c7zMYS0OC8tU/bCvfYUDFHYMCl91FgA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded-win32-x64": { - "version": "1.83.4", - "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.83.4.tgz", - "integrity": "sha512-C9fkDY0jKITdJFij4UbfPFswxoXN9O/Dr79v17fJnstVwtUojzVJWKHUXvF0Zg2LIR7TCc4ju3adejKFxj7ueA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-embedded/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", - "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", - "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/stringify-entities": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", - "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-to-object": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz", - "integrity": "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==", - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.2.4" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sync-child-process": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz", - "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "sync-message-port": "^1.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/sync-message-port": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.1.3.tgz", - "integrity": "sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==", - "devOptional": true, - "license": "MIT", - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/tailwindcss": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.1.tgz", - "integrity": "sha512-QNbdmeS979Efzim2g/bEvfuh+fTcIdp1y7gA+sb6OYSW74rt7Cr7M78AKdf6HqWT3d5AiTb7SwTT3sLQxr4/qw==", - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.39.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.1.tgz", - "integrity": "sha512-Mm6+uad0ZuDtcV8/4uOZQDQ8RuiC5Pu+iZRedJtF7yA/27sPL7d++In/AJKpWZlU3SYMPPkVfwetn6sgZ66pUA==", - "license": "BSD-2-Clause", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/textlinestream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/textlinestream/-/textlinestream-1.1.1.tgz", - "integrity": "sha512-iBHbi7BQxrFmwZUQJsT0SjNzlLLsXhvW/kg7EyOMVMBIrlnj/qYofwo1LVLZi+3GbUEo96Iu2eqToI2+lZoAEQ==", - "license": "MIT" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", - "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-api-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", - "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/turbo-stream": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", - "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", - "license": "ISC" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", - "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.23.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.23.0.tgz", - "integrity": "sha512-/LBRo3HrXr5LxmrdYSOCvoAMm7p2jNizNfbIpCgvG4HMsnoprRUOce/+8VJ9BDYWW68rqIENE/haVLWPeFZBVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.23.0", - "@typescript-eslint/parser": "8.23.0", - "@typescript-eslint/utils": "8.23.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.8.0" - } - }, - "node_modules/undici-types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", - "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/unified": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", - "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "bail": "^2.0.0", - "devlop": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-find-after": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", - "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", - "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", - "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", - "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-visit": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", - "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", - "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0", - "unist-util-visit-parents": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", - "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-is": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", - "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/varint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", - "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/vfile": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", - "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile-message": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", - "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "vfile": "^6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", - "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", - "license": "MIT", - "dependencies": { - "@types/unist": "^3.0.0", - "unist-util-stringify-position": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vite": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.11.tgz", - "integrity": "sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==", - "license": "MIT", - "dependencies": { - "esbuild": "^0.24.2", - "postcss": "^8.4.49", - "rollup": "^4.23.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite-plugin-singlefile": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/vite-plugin-singlefile/-/vite-plugin-singlefile-2.1.0.tgz", - "integrity": "sha512-7tJo+UgZABlKpY/nubth/wxJ4+pUGREPnEwNOknxwl2MM0zTvF14KTU4Ln1lc140gjLLV5mjDrvuoquU7OZqCg==", - "license": "MIT", - "dependencies": { - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">18.0.0" - }, - "peerDependencies": { - "rollup": "^4.28.1", - "vite": "^5.4.11 || ^6.0.0" - } - }, - "node_modules/web-namespaces": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", - "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zwitch": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", - "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - } - } + "name": "webui", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "webui", + "version": "1.0.0", + "dependencies": { + "highlight.js": "^11.11.1", + "mode-watcher": "^1.1.0", + "pdfjs-dist": "^5.4.54", + "rehype-highlight": "^7.0.2", + "rehype-stringify": "^10.0.1", + "remark": "^15.0.1", + "remark-breaks": "^4.0.0", + "remark-gfm": "^4.0.1", + "remark-html": "^16.0.1", + "remark-rehype": "^11.1.2", + "svelte-sonner": "^1.0.5", + "unist-util-visit": "^5.0.0" + }, + "devDependencies": { + "@chromatic-com/storybook": "^4.0.1", + "@eslint/compat": "^1.2.5", + "@eslint/js": "^9.18.0", + "@internationalized/date": "^3.8.2", + "@lucide/svelte": "^0.515.0", + "@playwright/test": "^1.49.1", + "@storybook/addon-a11y": "^9.0.17", + "@storybook/addon-docs": "^9.0.17", + "@storybook/addon-svelte-csf": "^5.0.7", + "@storybook/addon-vitest": "^9.0.17", + "@storybook/sveltekit": "^9.0.17", + "@sveltejs/adapter-static": "^3.0.8", + "@sveltejs/kit": "^2.22.0", + "@sveltejs/vite-plugin-svelte": "^6.0.0", + "@tailwindcss/forms": "^0.5.9", + "@tailwindcss/typography": "^0.5.15", + "@tailwindcss/vite": "^4.0.0", + "@types/node": "^22", + "@vitest/browser": "^3.2.3", + "bits-ui": "^2.8.11", + "clsx": "^2.1.1", + "dexie": "^4.0.11", + "eslint": "^9.18.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-storybook": "^9.0.17", + "eslint-plugin-svelte": "^3.0.0", + "fflate": "^0.8.2", + "globals": "^16.0.0", + "mdsvex": "^0.12.3", + "playwright": "^1.53.0", + "prettier": "^3.4.2", + "prettier-plugin-svelte": "^3.3.3", + "prettier-plugin-tailwindcss": "^0.6.11", + "rehype-katex": "^7.0.1", + "remark-math": "^6.0.0", + "storybook": "^9.0.17", + "svelte": "^5.0.0", + "svelte-check": "^4.0.0", + "tailwind-merge": "^3.3.1", + "tailwind-variants": "^1.0.0", + "tailwindcss": "^4.0.0", + "tw-animate-css": "^1.3.5", + "typescript": "^5.0.0", + "typescript-eslint": "^8.20.0", + "uuid": "^13.0.0", + "vite": "^7.0.4", + "vite-plugin-devtools-json": "^0.2.0", + "vitest": "^3.2.3", + "vitest-browser-svelte": "^0.1.0" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.3.tgz", + "integrity": "sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.27.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.6.tgz", + "integrity": "sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@chromatic-com/storybook": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@chromatic-com/storybook/-/storybook-4.0.1.tgz", + "integrity": "sha512-GQXe5lyZl3yLewLJQyFXEpOp2h+mfN2bPrzYaOFNCJjO4Js9deKbRHTOSaiP2FRwZqDLdQwy2+SEGeXPZ94yYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@neoconfetti/react": "^1.0.0", + "chromatic": "^12.0.0", + "filesize": "^10.0.12", + "jsonfile": "^6.1.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=20.0.0", + "yarn": ">=1.22.18" + }, + "peerDependencies": { + "storybook": "^0.0.0-0 || ^9.0.0 || ^9.1.0-0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.8.tgz", + "integrity": "sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.8.tgz", + "integrity": "sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.8.tgz", + "integrity": "sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.8.tgz", + "integrity": "sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.8.tgz", + "integrity": "sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.8.tgz", + "integrity": "sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.8.tgz", + "integrity": "sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.8.tgz", + "integrity": "sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.8.tgz", + "integrity": "sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.8.tgz", + "integrity": "sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.8.tgz", + "integrity": "sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.8.tgz", + "integrity": "sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.8.tgz", + "integrity": "sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.8.tgz", + "integrity": "sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.8.tgz", + "integrity": "sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.8.tgz", + "integrity": "sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.8.tgz", + "integrity": "sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.8.tgz", + "integrity": "sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.8.tgz", + "integrity": "sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.8.tgz", + "integrity": "sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.8.tgz", + "integrity": "sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.8.tgz", + "integrity": "sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.8.tgz", + "integrity": "sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.8.tgz", + "integrity": "sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.8.tgz", + "integrity": "sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.8.tgz", + "integrity": "sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/compat": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.3.1.tgz", + "integrity": "sha512-k8MHony59I5EPic6EQTCNOuPoVBnoYXkP+20xvwFjN7t0qI3ImyvyBgg+hIVPwC8JaxVjjUZld+cLfBLFDLucg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": "^8.40 || 9" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz", + "integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.0.tgz", + "integrity": "sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.31.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.31.0.tgz", + "integrity": "sha512-LOm5OVt7D4qiKCqoiPbA7LWmI+tbw1VbTUowBcUMgQSuM6poJufkFkYDcQpo5KfgD39TnNySV26QjOh7VFpSyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.15.2", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.2.tgz", + "integrity": "sha512-wNB5ooIKHQc+Kui96jE/n69rHFWAVoxn5CAzL1Xdd8FG03cgY3MLO+GF9U3W737fYDSgPWA6MReKhBQBop6Pcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.2.tgz", + "integrity": "sha512-7cfaOQuCS27HD7DX+6ib2OrnW+b4ZBwDNnCcT0uTyidcmyWb03FnQqJybDBoCnpdxwBSfA94UAYlRCt7mV+TbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.2", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@internationalized/date": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.2.tgz", + "integrity": "sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@swc/helpers": "^0.5.0" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", + "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", + "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz", + "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lucide/svelte": { + "version": "0.515.0", + "resolved": "https://registry.npmjs.org/@lucide/svelte/-/svelte-0.515.0.tgz", + "integrity": "sha512-CEAyqcZmNBfYzVgaRmK2RFJP5tnbXxekRyDk0XX/eZQRfsJmkDvmQwXNX8C869BgNeryzmrRyjHhUL6g9ZOHNA==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "svelte": "^5" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.1.0.tgz", + "integrity": "sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/@napi-rs/canvas": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas/-/canvas-0.1.76.tgz", + "integrity": "sha512-YIk5okeNN53GzjvWmAyCQFE9xrLeQXzYpudX4TiLvqaz9SqXgIgxIuKPe4DKyB5nccsQMIev7JGKTzZaN5rFdw==", + "license": "MIT", + "optional": true, + "workspaces": [ + "e2e/*" + ], + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@napi-rs/canvas-android-arm64": "0.1.76", + "@napi-rs/canvas-darwin-arm64": "0.1.76", + "@napi-rs/canvas-darwin-x64": "0.1.76", + "@napi-rs/canvas-linux-arm-gnueabihf": "0.1.76", + "@napi-rs/canvas-linux-arm64-gnu": "0.1.76", + "@napi-rs/canvas-linux-arm64-musl": "0.1.76", + "@napi-rs/canvas-linux-riscv64-gnu": "0.1.76", + "@napi-rs/canvas-linux-x64-gnu": "0.1.76", + "@napi-rs/canvas-linux-x64-musl": "0.1.76", + "@napi-rs/canvas-win32-x64-msvc": "0.1.76" + } + }, + "node_modules/@napi-rs/canvas-android-arm64": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-android-arm64/-/canvas-android-arm64-0.1.76.tgz", + "integrity": "sha512-7EAfkLBQo2QoEzpHdInFbfEUYTXsiO2hvtFo1D9zfTzcQM8n5piZdOpJ3EIkmpe8yLoSV8HLyUQtq4bv11x6Tg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-darwin-arm64": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-arm64/-/canvas-darwin-arm64-0.1.76.tgz", + "integrity": "sha512-Cs8WRMzaWSJWeWY8tvnCe+TuduHUbB0xFhZ0FmOrNy2prPxT4A6aU3FQu8hR9XJw8kKZ7v902wzaDmy9SdhG8A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-darwin-x64": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-darwin-x64/-/canvas-darwin-x64-0.1.76.tgz", + "integrity": "sha512-ya+T6gV9XAq7YAnMa2fKhWXAuRR5cpRny2IoHacoMxgtOARnUkJO/k3hIb52FtMoq7UxLi5+IFGVHU6ZiMu4Ag==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-arm-gnueabihf": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm-gnueabihf/-/canvas-linux-arm-gnueabihf-0.1.76.tgz", + "integrity": "sha512-fgnPb+FKVuixACvkHGldJqYXExORBwvqGgL0K80uE6SGH2t0UKD2auHw2CtBy14DUzfg82PkupO2ix2w7kB+Xw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-arm64-gnu": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-gnu/-/canvas-linux-arm64-gnu-0.1.76.tgz", + "integrity": "sha512-r8OxIenvBPOa4I014k1ZWTCz2dB0ZTsxMP7+ovMOKO7jkl1Z+YZo2OTAqxArpMhN0wdEeI3Lw9zUcn2HgwEgDA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-arm64-musl": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-arm64-musl/-/canvas-linux-arm64-musl-0.1.76.tgz", + "integrity": "sha512-smxwzKfHYaOYG7QXUuDPrFEC7WqjL3Lx4AM6mk8/FxDAS+8o0eoZJwSu+zXsaBLimEQUozEYgEGtJ2JJ0RdL4A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-riscv64-gnu": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-riscv64-gnu/-/canvas-linux-riscv64-gnu-0.1.76.tgz", + "integrity": "sha512-G2PsFwsP+r4syEoNLStV3n1wtNAClwf8s/qB57bexG08R4f4WaiBd+x+d4iYS0Y5o90YIEm8/ewZn4bLIa0wNQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-x64-gnu": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-gnu/-/canvas-linux-x64-gnu-0.1.76.tgz", + "integrity": "sha512-SNK+vgge4DnuONYdYE3Y09LivGgUiUPQDU+PdGNZJIzIi0hRDLcA59eag8LGeQfPmJW84c1aZD04voihybKFog==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-linux-x64-musl": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-linux-x64-musl/-/canvas-linux-x64-musl-0.1.76.tgz", + "integrity": "sha512-tWHLBI9iVoR1NsfpHz1MGERTkqcca8akbH/CzX6JQUNC+lJOeYYXeRuK8hKqMIg1LI+4QOMAtHNVeZu8NvjEug==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/canvas-win32-x64-msvc": { + "version": "0.1.76", + "resolved": "https://registry.npmjs.org/@napi-rs/canvas-win32-x64-msvc/-/canvas-win32-x64-msvc-0.1.76.tgz", + "integrity": "sha512-ifM5HOGw2hP5QLQzCB41Riw3Pq5yKAAjZpn+lJC0sYBmyS2s/Kq6KpTOKxf0CuptkI1wMcRcYQfhLRdeWiYvIg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@neoconfetti/react": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@neoconfetti/react/-/react-1.0.0.tgz", + "integrity": "sha512-klcSooChXXOzIm+SE5IISIAn3bYzYfPjbX7D7HoqZL84oAfgREeSg5vSIaSFH+DaGzzvImTyWe1OyrJ67vik4A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@playwright/test": { + "version": "1.54.1", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.54.1.tgz", + "integrity": "sha512-FS8hQ12acieG2dYSksmLOF7BNxnVf2afRJdCuM1eMSxj6QTSE6G4InGF7oApGgDb65MX7AwMVlIkpru0yZA4Xw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.54.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.45.1.tgz", + "integrity": "sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.45.1.tgz", + "integrity": "sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.45.1.tgz", + "integrity": "sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.45.1.tgz", + "integrity": "sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.45.1.tgz", + "integrity": "sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.45.1.tgz", + "integrity": "sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.45.1.tgz", + "integrity": "sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.45.1.tgz", + "integrity": "sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.45.1.tgz", + "integrity": "sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.45.1.tgz", + "integrity": "sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.45.1.tgz", + "integrity": "sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.45.1.tgz", + "integrity": "sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.45.1.tgz", + "integrity": "sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.45.1.tgz", + "integrity": "sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.45.1.tgz", + "integrity": "sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.45.1.tgz", + "integrity": "sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.45.1.tgz", + "integrity": "sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.45.1.tgz", + "integrity": "sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.45.1.tgz", + "integrity": "sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.45.1.tgz", + "integrity": "sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@standard-schema/spec": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", + "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@storybook/addon-a11y": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-9.0.17.tgz", + "integrity": "sha512-9cXNK3q/atx3hwJAt9HkJbd9vUxCXfKKiNNuSACbf8h9/j6u3jktulKOf6Xjc3B8lwn6ZpdK/x1HHZN2kTqsvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/global": "^5.0.0", + "axe-core": "^4.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^9.0.17" + } + }, + "node_modules/@storybook/addon-docs": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-9.0.17.tgz", + "integrity": "sha512-LOX/kKgQGnyulrqZHsvf77+ZoH/nSUaplGr5hvZglW/U6ak6fO9seJyXAzVKEnC6p+F8n02kFBZbi3s+znQhSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@mdx-js/react": "^3.0.0", + "@storybook/csf-plugin": "9.0.17", + "@storybook/icons": "^1.2.12", + "@storybook/react-dom-shim": "9.0.17", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^9.0.17" + } + }, + "node_modules/@storybook/addon-svelte-csf": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-svelte-csf/-/addon-svelte-csf-5.0.7.tgz", + "integrity": "sha512-6Zmy5HjOlrrG6OoKRTGDr9LR6zRK4/Sa7raFzQRKHGASgMlfKsMdNTNO0sxnMUWCu2JMS6HsuoLtB3Ma8SlYtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/csf": "^0.1.13", + "dedent": "^1.5.3", + "es-toolkit": "^1.26.1", + "esrap": "^1.2.2", + "magic-string": "^0.30.12", + "svelte-ast-print": "^0.4.0", + "zimmerframe": "^1.1.2" + }, + "peerDependencies": { + "@storybook/svelte": "^0.0.0-0 || ^8.2.0 || ^9.0.0 || ^9.1.0-0", + "@sveltejs/vite-plugin-svelte": "^4.0.0 || ^5.0.0 || ^6.0.0", + "storybook": "^0.0.0-0 || ^8.2.0 || ^9.0.0 || ^9.1.0-0", + "svelte": "^5.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@storybook/addon-vitest": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-vitest/-/addon-vitest-9.0.17.tgz", + "integrity": "sha512-eogqcGbACR1sTedBSE2SP/4QV1ruicHYEhYjBtoPIjvYgymN1g5KSuQNysLx4f0SvAzczrcNjX2WVVLX2DVyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/global": "^5.0.0", + "@storybook/icons": "^1.4.0", + "prompts": "^2.4.0", + "ts-dedent": "^2.2.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "@vitest/browser": "^3.0.0", + "@vitest/runner": "^3.0.0", + "storybook": "^9.0.17", + "vitest": "^3.0.0" + }, + "peerDependenciesMeta": { + "@vitest/browser": { + "optional": true + }, + "@vitest/runner": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@storybook/builder-vite": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-9.0.17.tgz", + "integrity": "sha512-lyuvgGhb0NaVk1tdB4xwzky6+YXQfxlxfNQqENYZ9uYQZdPfErMa4ZTXVQTV+CQHAa2NL+p/dG2JPAeu39e9UA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/csf-plugin": "9.0.17", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^9.0.17", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@storybook/csf": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.13.tgz", + "integrity": "sha512-7xOOwCLGB3ebM87eemep89MYRFTko+D8qE7EdAAq74lgdqRR5cOUtYWJLjO2dLtP94nqoOdHJo6MdLLKzg412Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^2.19.0" + } + }, + "node_modules/@storybook/csf-plugin": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-9.0.17.tgz", + "integrity": "sha512-6Q4eo1ObrLlsnB6bIt6T8+45XAb4to2pQGNrI7QPkLQRLrZinrJcNbLY7AGkyIoCOEsEbq08n09/nClQUbu8HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "unplugin": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^9.0.17" + } + }, + "node_modules/@storybook/global": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", + "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@storybook/icons": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.4.0.tgz", + "integrity": "sha512-Td73IeJxOyalzvjQL+JXx72jlIYHgs+REaHiREOqfpo3A2AYYG71AUbcv+lg7mEDIweKVCxsMQ0UKo634c8XeA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" + } + }, + "node_modules/@storybook/react-dom-shim": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-9.0.17.tgz", + "integrity": "sha512-ak/x/m6MDDxdE6rCDymTltaiQF3oiKrPHSwfM+YPgQR6MVmzTTs4+qaPfeev7FZEHq23IkfDMTmSTTJtX7Vs9A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "storybook": "^9.0.17" + } + }, + "node_modules/@storybook/svelte": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@storybook/svelte/-/svelte-9.0.17.tgz", + "integrity": "sha512-RwOswdq7S3+ZOuoM/oRrcmlsKdjcd/3wMHbuirzYoAhdwsjubSuRepMV64O9RnlXd3x7rZw4fXpq1M/SVo5XiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ts-dedent": "^2.0.0", + "type-fest": "~2.19" + }, + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^9.0.17", + "svelte": "^5.0.0" + } + }, + "node_modules/@storybook/sveltekit": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@storybook/sveltekit/-/sveltekit-9.0.17.tgz", + "integrity": "sha512-CUOATuW5Qk3SjNvmjH+wyx2GCsMF1cvw3gwkujV9kehPebzV20NhgHpbzSoepvwF7+Bj6jl8V6UxiMWk0jJFmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/builder-vite": "9.0.17", + "@storybook/svelte": "9.0.17", + "@storybook/svelte-vite": "9.0.17" + }, + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^9.0.17", + "svelte": "^5.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@storybook/sveltekit/node_modules/@storybook/svelte-vite": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/@storybook/svelte-vite/-/svelte-vite-9.0.17.tgz", + "integrity": "sha512-fRIxOZy9IRI6BfL1LgFn+B+IckGOlT1SstD01y9ddO4pVKWih/l+vb44bnZs+Z0faJZbrG/LgfnXTOPj052Z8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/builder-vite": "9.0.17", + "@storybook/svelte": "9.0.17", + "magic-string": "^0.30.0", + "svelte2tsx": "^0.7.35", + "typescript": "^4.9.4 || ^5.0.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", + "storybook": "^9.0.17", + "svelte": "^5.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@storybook/sveltekit/node_modules/@sveltejs/vite-plugin-svelte": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-5.1.1.tgz", + "integrity": "sha512-Y1Cs7hhTc+a5E9Va/xwKlAJoariQyHY+5zBgCZg4PFWNYQ1nMN9sjK1zhw1gK69DuqVP++sht/1GZg1aRwmAXQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^4.0.1", + "debug": "^4.4.1", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.17", + "vitefu": "^1.0.6" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22" + }, + "peerDependencies": { + "svelte": "^5.0.0", + "vite": "^6.0.0" + } + }, + "node_modules/@storybook/sveltekit/node_modules/@sveltejs/vite-plugin-svelte/node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-4.0.1.tgz", + "integrity": "sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "^4.3.7" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^5.0.0", + "svelte": "^5.0.0", + "vite": "^6.0.0" + } + }, + "node_modules/@sveltejs/acorn-typescript": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@sveltejs/acorn-typescript/-/acorn-typescript-1.0.5.tgz", + "integrity": "sha512-IwQk4yfwLdibDlrXVE04jTZYlLnwsTT2PIOQQGNLWfjavGifnk1JD1LcZjZaBTRcxZu2FfPfNLOE04DSu9lqtQ==", + "license": "MIT", + "peerDependencies": { + "acorn": "^8.9.0" + } + }, + "node_modules/@sveltejs/adapter-static": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-3.0.9.tgz", + "integrity": "sha512-aytHXcMi7lb9ljsWUzXYQ0p5X1z9oWud2olu/EpmH7aCu4m84h7QLvb5Wp+CFirKcwoNnYvYWhyP/L8Vh1ztdw==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@sveltejs/kit": "^2.0.0" + } + }, + "node_modules/@sveltejs/kit": { + "version": "2.37.0", + "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-2.37.0.tgz", + "integrity": "sha512-xgKtpjQ6Ry4mdShd01ht5AODUsW7+K1iValPDq7QX8zI1hWOKREH9GjG8SRCN5tC4K7UXmMhuQam7gbLByVcnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@standard-schema/spec": "^1.0.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/cookie": "^0.6.0", + "acorn": "^8.14.1", + "cookie": "^0.6.0", + "devalue": "^5.3.2", + "esm-env": "^1.2.2", + "kleur": "^4.1.5", + "magic-string": "^0.30.5", + "mrmime": "^2.0.0", + "sade": "^1.8.1", + "set-cookie-parser": "^2.6.0", + "sirv": "^3.0.0" + }, + "bin": { + "svelte-kit": "svelte-kit.js" + }, + "engines": { + "node": ">=18.13" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0", + "@sveltejs/vite-plugin-svelte": "^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0", + "svelte": "^4.0.0 || ^5.0.0-next.0", + "vite": "^5.0.3 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + } + } + }, + "node_modules/@sveltejs/vite-plugin-svelte": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-6.1.0.tgz", + "integrity": "sha512-+U6lz1wvGEG/BvQyL4z/flyNdQ9xDNv5vrh+vWBWTHaebqT0c9RNggpZTo/XSPoHsSCWBlYaTlRX8pZ9GATXCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0-next.1", + "debug": "^4.4.1", + "deepmerge": "^4.3.1", + "kleur": "^4.1.5", + "magic-string": "^0.30.17", + "vitefu": "^1.1.1" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24" + }, + "peerDependencies": { + "svelte": "^5.0.0", + "vite": "^6.3.0 || ^7.0.0" + } + }, + "node_modules/@sveltejs/vite-plugin-svelte-inspector": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-5.0.0.tgz", + "integrity": "sha512-iwQ8Z4ET6ZFSt/gC+tVfcsSBHwsqc6RumSaiLUkAurW3BCpJam65cmHw0oOlDMTO0u+PZi9hilBRYN+LZNHTUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.1" + }, + "engines": { + "node": "^20.19 || ^22.12 || >=24" + }, + "peerDependencies": { + "@sveltejs/vite-plugin-svelte": "^6.0.0-next.0", + "svelte": "^5.0.0", + "vite": "^6.3.0 || ^7.0.0" + } + }, + "node_modules/@swc/helpers": { + "version": "0.5.17", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", + "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.10.tgz", + "integrity": "sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.11.tgz", + "integrity": "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "enhanced-resolve": "^5.18.1", + "jiti": "^2.4.2", + "lightningcss": "1.30.1", + "magic-string": "^0.30.17", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.11" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.11.tgz", + "integrity": "sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.4", + "tar": "^7.4.3" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.11", + "@tailwindcss/oxide-darwin-arm64": "4.1.11", + "@tailwindcss/oxide-darwin-x64": "4.1.11", + "@tailwindcss/oxide-freebsd-x64": "4.1.11", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.11", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.11", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.11", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.11", + "@tailwindcss/oxide-linux-x64-musl": "4.1.11", + "@tailwindcss/oxide-wasm32-wasi": "4.1.11", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.11", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.11" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.11.tgz", + "integrity": "sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.11.tgz", + "integrity": "sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.11.tgz", + "integrity": "sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.11.tgz", + "integrity": "sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.11.tgz", + "integrity": "sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.11.tgz", + "integrity": "sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.11.tgz", + "integrity": "sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.11.tgz", + "integrity": "sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.11.tgz", + "integrity": "sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.11.tgz", + "integrity": "sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.3", + "@emnapi/runtime": "^1.4.3", + "@emnapi/wasi-threads": "^1.0.2", + "@napi-rs/wasm-runtime": "^0.2.11", + "@tybys/wasm-util": "^0.9.0", + "tslib": "^2.8.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.11.tgz", + "integrity": "sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.11.tgz", + "integrity": "sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.16.tgz", + "integrity": "sha512-0wDLwCVF5V3x3b1SGXPCDcdsbDHMBe+lkFzBRaHeLvNi+nrrnZ1lA18u+OTWO8iSWU2GxUOCvlXtDuqftc1oiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "postcss-selector-parser": "6.0.10" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders || >=4.0.0-alpha.20 || >=4.0.0-beta.1" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.11.tgz", + "integrity": "sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.11", + "@tailwindcss/oxide": "4.1.11", + "tailwindcss": "4.1.11" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@testing-library/dom": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", + "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.3.0", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz", + "integrity": "sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@adobe/css-tools": "^4.4.0", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.21", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@testing-library/user-event": { + "version": "14.6.1", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz", + "integrity": "sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/chai": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", + "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/deep-eql": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/deep-eql": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", + "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/katex": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz", + "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.16.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.16.5.tgz", + "integrity": "sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.1.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.8.tgz", + "integrity": "sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.37.0.tgz", + "integrity": "sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.37.0", + "@typescript-eslint/type-utils": "8.37.0", + "@typescript-eslint/utils": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0", + "graphemer": "^1.4.0", + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.37.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.37.0.tgz", + "integrity": "sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "8.37.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.37.0.tgz", + "integrity": "sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.37.0", + "@typescript-eslint/types": "^8.37.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.37.0.tgz", + "integrity": "sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.37.0.tgz", + "integrity": "sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.37.0.tgz", + "integrity": "sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0", + "@typescript-eslint/utils": "8.37.0", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.37.0.tgz", + "integrity": "sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.37.0.tgz", + "integrity": "sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/project-service": "8.37.0", + "@typescript-eslint/tsconfig-utils": "8.37.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/visitor-keys": "8.37.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.37.0.tgz", + "integrity": "sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.37.0", + "@typescript-eslint/types": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.37.0.tgz", + "integrity": "sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.37.0", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/@vitest/browser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/browser/-/browser-3.2.4.tgz", + "integrity": "sha512-tJxiPrWmzH8a+w9nLKlQMzAKX/7VjFs50MWgcAj7p9XQ7AQ9/35fByFYptgPELyLw+0aixTnC4pUWV+APcZ/kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@testing-library/dom": "^10.4.0", + "@testing-library/user-event": "^14.6.1", + "@vitest/mocker": "3.2.4", + "@vitest/utils": "3.2.4", + "magic-string": "^0.30.17", + "sirv": "^3.0.1", + "tinyrainbow": "^2.0.0", + "ws": "^8.18.2" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "playwright": "*", + "vitest": "3.2.4", + "webdriverio": "^7.0.0 || ^8.0.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "playwright": { + "optional": true + }, + "safaridriver": { + "optional": true + }, + "webdriverio": { + "optional": true + } + } + }, + "node_modules/@vitest/expect": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", + "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/mocker": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", + "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "3.2.4", + "estree-walker": "^3.0.3", + "magic-string": "^0.30.17" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "msw": "^2.4.9", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "peerDependenciesMeta": { + "msw": { + "optional": true + }, + "vite": { + "optional": true + } + } + }, + "node_modules/@vitest/mocker/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/@vitest/pretty-format": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", + "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", + "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "3.2.4", + "pathe": "^2.0.3", + "strip-literal": "^3.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/snapshot": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", + "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "magic-string": "^0.30.17", + "pathe": "^2.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", + "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^4.0.3" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", + "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/pretty-format": "3.2.4", + "loupe": "^3.1.4", + "tinyrainbow": "^2.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/ast-types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/axe-core": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.3.tgz", + "integrity": "sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/better-opn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", + "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "open": "^8.0.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/bits-ui": { + "version": "2.8.11", + "resolved": "https://registry.npmjs.org/bits-ui/-/bits-ui-2.8.11.tgz", + "integrity": "sha512-lKN9rAk69my6j7H1D4B87r8LrHuEtfEsf1xCixBj9yViql2BdI3f04HyyyT7T1GOCpgb9+8b0B+nm3LN81Konw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.1", + "@floating-ui/dom": "^1.7.1", + "esm-env": "^1.1.2", + "runed": "^0.29.1", + "svelte-toolbelt": "^0.9.3", + "tabbable": "^6.2.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/huntabyte" + }, + "peerDependencies": { + "@internationalized/date": "^3.8.1", + "svelte": "^5.33.0" + } + }, + "node_modules/bits-ui/node_modules/runed": { + "version": "0.29.2", + "resolved": "https://registry.npmjs.org/runed/-/runed-0.29.2.tgz", + "integrity": "sha512-0cq6cA6sYGZwl/FvVqjx9YN+1xEBu9sDDyuWdDW1yWX7JF2wmvmVKfH+hVCZs+csW+P3ARH92MjI3H9QTagOQA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/huntabyte", + "https://github.com/sponsors/tglide" + ], + "license": "MIT", + "dependencies": { + "esm-env": "^1.0.0" + }, + "peerDependencies": { + "svelte": "^5.7.0" + } + }, + "node_modules/bits-ui/node_modules/svelte-toolbelt": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.9.3.tgz", + "integrity": "sha512-HCSWxCtVmv+c6g1ACb8LTwHVbDqLKJvHpo6J8TaqwUme2hj9ATJCpjCPNISR1OCq2Q4U1KT41if9ON0isINQZw==", + "dev": true, + "funding": [ + "https://github.com/sponsors/huntabyte" + ], + "dependencies": { + "clsx": "^2.1.1", + "runed": "^0.29.0", + "style-to-object": "^1.0.8" + }, + "engines": { + "node": ">=18", + "pnpm": ">=8.7.0" + }, + "peerDependencies": { + "svelte": "^5.30.2" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chai": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", + "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + } + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/chromatic": { + "version": "12.2.0", + "resolved": "https://registry.npmjs.org/chromatic/-/chromatic-12.2.0.tgz", + "integrity": "sha512-GswmBW9ZptAoTns1BMyjbm55Z7EsIJnUvYKdQqXIBZIKbGErmpA+p4c0BYA+nzw5B0M+rb3Iqp1IaH8TFwIQew==", + "dev": true, + "license": "MIT", + "bin": { + "chroma": "dist/bin.js", + "chromatic": "dist/bin.js", + "chromatic-cli": "dist/bin.js" + }, + "peerDependencies": { + "@chromatic-com/cypress": "^0.*.* || ^1.0.0", + "@chromatic-com/playwright": "^0.*.* || ^1.0.0" + }, + "peerDependenciesMeta": { + "@chromatic-com/cypress": { + "optional": true + }, + "@chromatic-com/playwright": { + "optional": true + } + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.2.0.tgz", + "integrity": "sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dedent": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.6.0.tgz", + "integrity": "sha512-F1Z+5UCFpmQUzJa11agbyPVMbpgT/qA3/SKyJ1jyBgm7dUcUEa8v9JwDkerSQXfakBwFljIxhOJqGkjUwZ9FSA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/dedent-js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dedent-js/-/dedent-js-1.0.1.tgz", + "integrity": "sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devalue": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.3.2.tgz", + "integrity": "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==", + "dev": true, + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dexie": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/dexie/-/dexie-4.0.11.tgz", + "integrity": "sha512-SOKO002EqlvBYYKQSew3iymBoN2EQ4BDw/3yprjh7kAfFzjBYkaMNa/pZvcA7HSWlcKSQb9XhPe3wKyQ0x4A8A==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/enhanced-resolve": { + "version": "5.18.2", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.2.tgz", + "integrity": "sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-toolkit": { + "version": "1.39.7", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.39.7.tgz", + "integrity": "sha512-ek/wWryKouBrZIjkwW2BFf91CWOIMvoy2AE5YYgUrfWsJQM2Su1LoLtrw8uusEpN9RfqLlV/0FVNjT0WMv8Bxw==", + "dev": true, + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, + "node_modules/esbuild": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.8.tgz", + "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.8", + "@esbuild/android-arm": "0.25.8", + "@esbuild/android-arm64": "0.25.8", + "@esbuild/android-x64": "0.25.8", + "@esbuild/darwin-arm64": "0.25.8", + "@esbuild/darwin-x64": "0.25.8", + "@esbuild/freebsd-arm64": "0.25.8", + "@esbuild/freebsd-x64": "0.25.8", + "@esbuild/linux-arm": "0.25.8", + "@esbuild/linux-arm64": "0.25.8", + "@esbuild/linux-ia32": "0.25.8", + "@esbuild/linux-loong64": "0.25.8", + "@esbuild/linux-mips64el": "0.25.8", + "@esbuild/linux-ppc64": "0.25.8", + "@esbuild/linux-riscv64": "0.25.8", + "@esbuild/linux-s390x": "0.25.8", + "@esbuild/linux-x64": "0.25.8", + "@esbuild/netbsd-arm64": "0.25.8", + "@esbuild/netbsd-x64": "0.25.8", + "@esbuild/openbsd-arm64": "0.25.8", + "@esbuild/openbsd-x64": "0.25.8", + "@esbuild/openharmony-arm64": "0.25.8", + "@esbuild/sunos-x64": "0.25.8", + "@esbuild/win32-arm64": "0.25.8", + "@esbuild/win32-ia32": "0.25.8", + "@esbuild/win32-x64": "0.25.8" + } + }, + "node_modules/esbuild-register": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", + "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4" + }, + "peerDependencies": { + "esbuild": ">=0.12 <1" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.31.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.31.0.tgz", + "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.0", + "@eslint/config-helpers": "^0.3.0", + "@eslint/core": "^0.15.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.31.0", + "@eslint/plugin-kit": "^0.3.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-config-prettier": { + "version": "10.1.8", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", + "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-storybook": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-9.0.17.tgz", + "integrity": "sha512-IuTdlwCEwoDNobdygRCxNhlKXHmsDfPtPvHGcsY35x2Bx8KItrjfekO19gJrjc1VT2CMfcZMYF8OBKaxHELupw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.8.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "eslint": ">=8", + "storybook": "^9.0.17" + } + }, + "node_modules/eslint-plugin-svelte": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.11.0.tgz", + "integrity": "sha512-KliWlkieHyEa65aQIkRwUFfHzT5Cn4u3BQQsu3KlkJOs7c1u7ryn84EWaOjEzilbKgttT4OfBURA8Uc4JBSQIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.6.1", + "@jridgewell/sourcemap-codec": "^1.5.0", + "esutils": "^2.0.3", + "globals": "^16.0.0", + "known-css-properties": "^0.37.0", + "postcss": "^8.4.49", + "postcss-load-config": "^3.1.4", + "postcss-safe-parser": "^7.0.0", + "semver": "^7.6.3", + "svelte-eslint-parser": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "eslint": "^8.57.1 || ^9.0.0", + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esm-env": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", + "license": "MIT" + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrap": { + "version": "1.4.9", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.9.tgz", + "integrity": "sha512-3OMlcd0a03UGuZpPeUC1HxR3nA23l+HEyCiZw3b3FumJIN9KphoGzDJKMXI1S72jVS1dsenDyQC0kJlO1U9E1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect-type": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", + "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fdir": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", + "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "dev": true, + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/filesize": { + "version": "10.1.6", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.6.tgz", + "integrity": "sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 10.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "16.3.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.3.0.tgz", + "integrity": "sha512-bqWEnJ1Nt3neqx2q5SFfGS8r/ahumIakg3HcwtNlrVlwXIeNumWn/c7Pn/wKzGhf6SaW6H6uWXLqC30STCMchQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hast-util-from-dom": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", + "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^9.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html-isomorphic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", + "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-dom": "^5.0.0", + "hast-util-from-html": "^2.0.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/hast-util-from-html/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html/node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-sanitize": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-5.0.2.tgz", + "integrity": "sha512-3yTWghByc50aGS7JlGhk61SPenfE/p1oaFeNwkOOyrscaOkMGrcW9+Cy/QAIOBpZxP1yqDIzFMR0+Np0i0+usg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "unist-util-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/highlight.js": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", + "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz", + "integrity": "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==", + "license": "MIT" + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/katex": { + "version": "0.16.22", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.22.tgz", + "integrity": "sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==", + "dev": true, + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/known-css-properties": { + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.37.0.tgz", + "integrity": "sha512-JCDrsP4Z1Sb9JwG0aJ8Eo2r7k4Ou5MwmThS/6lcIe1ICyb7UBJKGRIUUdqc2ASdE/42lgz6zFUnzAIhtXnBVrQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", + "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.30.1", + "lightningcss-darwin-x64": "1.30.1", + "lightningcss-freebsd-x64": "1.30.1", + "lightningcss-linux-arm-gnueabihf": "1.30.1", + "lightningcss-linux-arm64-gnu": "1.30.1", + "lightningcss-linux-arm64-musl": "1.30.1", + "lightningcss-linux-x64-gnu": "1.30.1", + "lightningcss-linux-x64-musl": "1.30.1", + "lightningcss-win32-arm64-msvc": "1.30.1", + "lightningcss-win32-x64-msvc": "1.30.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", + "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", + "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", + "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", + "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", + "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", + "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", + "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", + "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", + "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", + "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "license": "MIT" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loupe": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", + "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowlight": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-3.3.0.tgz", + "integrity": "sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.0.0", + "highlight.js": "~11.11.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "license": "MIT", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-from-markdown/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.1.0.tgz", + "integrity": "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-math": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-math/-/mdast-util-math-3.0.0.tgz", + "integrity": "sha512-Tl9GBNeG/AhJnQM221bJR2HPvLOSnLE/T9cJI9tlc6zwQk2nPk/4f0cHkOdEixQPC/j8UtKDdITswvLAy1OZ1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "longest-streak": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.1.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-newline-to-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-newline-to-break/-/mdast-util-newline-to-break-2.0.0.tgz", + "integrity": "sha512-MbgeFca0hLYIEx/2zGsszCSEJJ1JSCdiY5xQxRcLDDGa8EPvlLPupJ4DSajbMPAnC0je8jfb9TiUATnxxrHUog==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-find-and-replace": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", + "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdsvex": { + "version": "0.12.6", + "resolved": "https://registry.npmjs.org/mdsvex/-/mdsvex-0.12.6.tgz", + "integrity": "sha512-pupx2gzWh3hDtm/iDW4WuCpljmyHbHi34r7ktOqpPGvyiM4MyfNgdJ3qMizXdgCErmvYC9Nn/qyjePy+4ss9Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.4", + "@types/unist": "^2.0.3", + "prism-svelte": "^0.4.7", + "prismjs": "^1.17.1", + "unist-util-visit": "^2.0.1", + "vfile-message": "^2.0.4" + }, + "peerDependencies": { + "svelte": "^3.56.0 || ^4.0.0 || ^5.0.0-next.120" + } + }, + "node_modules/mdsvex/node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdsvex/node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdsvex/node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz", + "integrity": "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-math": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz", + "integrity": "sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/katex": "^0.16.0", + "devlop": "^1.0.0", + "katex": "^0.16.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "dev": true, + "license": "MIT", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/mode-watcher": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mode-watcher/-/mode-watcher-1.1.0.tgz", + "integrity": "sha512-mUT9RRGPDYenk59qJauN1rhsIMKBmWA3xMF+uRwE8MW/tjhaDSCCARqkSuDTq8vr4/2KcAxIGVjACxTjdk5C3g==", + "license": "MIT", + "dependencies": { + "runed": "^0.25.0", + "svelte-toolbelt": "^0.7.1" + }, + "peerDependencies": { + "svelte": "^5.27.0" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16" + } + }, + "node_modules/pdfjs-dist": { + "version": "5.4.54", + "resolved": "https://registry.npmjs.org/pdfjs-dist/-/pdfjs-dist-5.4.54.tgz", + "integrity": "sha512-TBAiTfQw89gU/Z4LW98Vahzd2/LoCFprVGvGbTgFt+QCB1F+woyOPmNNVgLa6djX9Z9GGTnj7qE1UzpOVJiINw==", + "license": "Apache-2.0", + "engines": { + "node": ">=20.16.0 || >=22.3.0" + }, + "optionalDependencies": { + "@napi-rs/canvas": "^0.1.74" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/playwright": { + "version": "1.54.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.54.1.tgz", + "integrity": "sha512-peWpSwIBmSLi6aW2auvrUtf2DqY16YYcCMO8rTVx486jKmDTJg7UAhyrraP98GB8BoPURZP8+nxO7TSd4cPr5g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.54.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.54.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.54.1.tgz", + "integrity": "sha512-Nbjs2zjj0htNhzgiy5wu+3w09YetDx5pkrpI/kZotDlDUaYk0HVA5xrBVPdow4SAUIlhgKcJeJg4GRKW6xHusA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss-safe-parser": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", + "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "postcss": "^8.4.31" + } + }, + "node_modules/postcss-scss": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/postcss-scss/-/postcss-scss-4.0.9.tgz", + "integrity": "sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss-scss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.4.29" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", + "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-plugin-svelte": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.0.tgz", + "integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "prettier": "^3.0.0", + "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" + } + }, + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.6.14", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.6.14.tgz", + "integrity": "sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-hermes": "*", + "@prettier/plugin-oxc": "*", + "@prettier/plugin-pug": "*", + "@shopify/prettier-plugin-liquid": "*", + "@trivago/prettier-plugin-sort-imports": "*", + "@zackad/prettier-plugin-twig": "*", + "prettier": "^3.0", + "prettier-plugin-astro": "*", + "prettier-plugin-css-order": "*", + "prettier-plugin-import-sort": "*", + "prettier-plugin-jsdoc": "*", + "prettier-plugin-marko": "*", + "prettier-plugin-multiline-arrays": "*", + "prettier-plugin-organize-attributes": "*", + "prettier-plugin-organize-imports": "*", + "prettier-plugin-sort-imports": "*", + "prettier-plugin-style-order": "*", + "prettier-plugin-svelte": "*" + }, + "peerDependenciesMeta": { + "@ianvs/prettier-plugin-sort-imports": { + "optional": true + }, + "@prettier/plugin-hermes": { + "optional": true + }, + "@prettier/plugin-oxc": { + "optional": true + }, + "@prettier/plugin-pug": { + "optional": true + }, + "@shopify/prettier-plugin-liquid": { + "optional": true + }, + "@trivago/prettier-plugin-sort-imports": { + "optional": true + }, + "@zackad/prettier-plugin-twig": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + }, + "prettier-plugin-css-order": { + "optional": true + }, + "prettier-plugin-import-sort": { + "optional": true + }, + "prettier-plugin-jsdoc": { + "optional": true + }, + "prettier-plugin-marko": { + "optional": true + }, + "prettier-plugin-multiline-arrays": { + "optional": true + }, + "prettier-plugin-organize-attributes": { + "optional": true + }, + "prettier-plugin-organize-imports": { + "optional": true + }, + "prettier-plugin-sort-imports": { + "optional": true + }, + "prettier-plugin-style-order": { + "optional": true + }, + "prettier-plugin-svelte": { + "optional": true + } + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prism-svelte": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/prism-svelte/-/prism-svelte-0.4.7.tgz", + "integrity": "sha512-yABh19CYbM24V7aS7TuPYRNMqthxwbvx6FF/Rw920YbyBWO3tnyPIqRMgHuSVsLmuHkkBS1Akyof463FVdkeDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", + "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.1.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", + "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "scheduler": "^0.26.0" + }, + "peerDependencies": { + "react": "^19.1.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true, + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recast": { + "version": "0.23.11", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.11.tgz", + "integrity": "sha512-YTUo+Flmw4ZXiWfQKGcwwc11KnoRAYgzAE2E7mXKCjSviTKShtxBsN6YUUBB2gtaBzKzeKunxhUwNHQuRryhWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ast-types": "^0.16.1", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tiny-invariant": "^1.3.3", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rehype-highlight": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rehype-highlight/-/rehype-highlight-7.0.2.tgz", + "integrity": "sha512-k158pK7wdC2qL3M5NcZROZ2tR/l7zOzjxXd5VGdcfIyoijjQqpHd3JKtYSBDpDZ38UI2WJWuFAtkMDxmx5kstA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-text": "^4.0.0", + "lowlight": "^3.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-katex": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/rehype-katex/-/rehype-katex-7.0.1.tgz", + "integrity": "sha512-OiM2wrZ/wuhKkigASodFoo8wimG3H12LWQaH8qSPVJn9apWKFSH3YOCtbKpBorTVw/eI7cuT21XBbvwEswbIOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/katex": "^0.16.0", + "hast-util-from-html-isomorphic": "^2.0.0", + "hast-util-to-text": "^4.0.0", + "katex": "^0.16.0", + "unist-util-visit-parents": "^6.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/remark/-/remark-15.0.1.tgz", + "integrity": "sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-breaks": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-breaks/-/remark-breaks-4.0.0.tgz", + "integrity": "sha512-IjEjJOkH4FuJvHZVIW0QCDWxcG96kCq7An/KVH2NfJe6rKZU2AsHeB3OEjPNRxi4QC34Xdx7I2KGYn6IpT7gxQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-newline-to-break": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-html": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-16.0.1.tgz", + "integrity": "sha512-B9JqA5i0qZe0Nsf49q3OXyGvyXuZFDzAP2iOFLEumymuYJITVpiH1IgsTEwTpdptDmZlMDMWeDmSawdaJIGCXQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "hast-util-sanitize": "^5.0.0", + "hast-util-to-html": "^9.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-math": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/remark-math/-/remark-math-6.0.0.tgz", + "integrity": "sha512-MMqgnP74Igy+S3WwnhQ7kqGlEerTETXMvJhrUzDikVZ2/uogJCb+WHUg97hK9/jcfc0dkD73s3LN8zU49cTEtA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-math": "^3.0.0", + "micromark-extension-math": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.45.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.45.1.tgz", + "integrity": "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.45.1", + "@rollup/rollup-android-arm64": "4.45.1", + "@rollup/rollup-darwin-arm64": "4.45.1", + "@rollup/rollup-darwin-x64": "4.45.1", + "@rollup/rollup-freebsd-arm64": "4.45.1", + "@rollup/rollup-freebsd-x64": "4.45.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.45.1", + "@rollup/rollup-linux-arm-musleabihf": "4.45.1", + "@rollup/rollup-linux-arm64-gnu": "4.45.1", + "@rollup/rollup-linux-arm64-musl": "4.45.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.45.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.45.1", + "@rollup/rollup-linux-riscv64-gnu": "4.45.1", + "@rollup/rollup-linux-riscv64-musl": "4.45.1", + "@rollup/rollup-linux-s390x-gnu": "4.45.1", + "@rollup/rollup-linux-x64-gnu": "4.45.1", + "@rollup/rollup-linux-x64-musl": "4.45.1", + "@rollup/rollup-win32-arm64-msvc": "4.45.1", + "@rollup/rollup-win32-ia32-msvc": "4.45.1", + "@rollup/rollup-win32-x64-msvc": "4.45.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/runed": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/runed/-/runed-0.25.0.tgz", + "integrity": "sha512-7+ma4AG9FT2sWQEA0Egf6mb7PBT2vHyuHail1ie8ropfSjvZGtEAx8YTmUjv/APCsdRRxEVvArNjALk9zFSOrg==", + "funding": [ + "https://github.com/sponsors/huntabyte", + "https://github.com/sponsors/tglide" + ], + "dependencies": { + "esm-env": "^1.0.0" + }, + "peerDependencies": { + "svelte": "^5.7.0" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true, + "license": "ISC" + }, + "node_modules/sirv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.1.tgz", + "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true, + "license": "MIT" + }, + "node_modules/std-env": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", + "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", + "dev": true, + "license": "MIT" + }, + "node_modules/storybook": { + "version": "9.0.17", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-9.0.17.tgz", + "integrity": "sha512-O+9jgJ+Trlq9VGD1uY4OBLKQWHHDKM/A/pA8vMW6PVehhGHNvpzcIC1bngr6mL5gGHZP2nBv+9XG8pTMcggMmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@storybook/global": "^5.0.0", + "@testing-library/jest-dom": "^6.6.3", + "@testing-library/user-event": "^14.6.1", + "@vitest/expect": "3.2.4", + "@vitest/spy": "3.2.4", + "better-opn": "^3.0.2", + "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0", + "esbuild-register": "^3.5.0", + "recast": "^0.23.5", + "semver": "^7.6.2", + "ws": "^8.18.0" + }, + "bin": { + "storybook": "bin/index.cjs" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "prettier": "^2 || ^3" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", + "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^9.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", + "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/style-to-object": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.9.tgz", + "integrity": "sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.4" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svelte": { + "version": "5.36.12", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.36.12.tgz", + "integrity": "sha512-c3mWT+b0yBLl3gPGSHiy4pdSQCsPNTjLC0tVoOhrGJ6PPfCzD/RQpAmAfJtQZ304CAae2ph+L3C4aqds3R3seQ==", + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@sveltejs/acorn-typescript": "^1.0.5", + "@types/estree": "^1.0.5", + "acorn": "^8.12.1", + "aria-query": "^5.3.1", + "axobject-query": "^4.1.0", + "clsx": "^2.1.1", + "esm-env": "^1.2.1", + "esrap": "^2.1.0", + "is-reference": "^3.0.3", + "locate-character": "^3.0.0", + "magic-string": "^0.30.11", + "zimmerframe": "^1.1.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/svelte-ast-print": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/svelte-ast-print/-/svelte-ast-print-0.4.2.tgz", + "integrity": "sha512-hRHHufbJoArFmDYQKCpCvc0xUuIEfwYksvyLYEQyH+1xb5LD5sM/IthfooCdXZQtOIqXz6xm7NmaqdfwG4kh6w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/xeho91" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/xeho91" + } + ], + "license": "MIT", + "dependencies": { + "esrap": "1.2.2", + "zimmerframe": "1.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "svelte": "^5.0.0" + } + }, + "node_modules/svelte-ast-print/node_modules/esrap": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.2.2.tgz", + "integrity": "sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15", + "@types/estree": "^1.0.1" + } + }, + "node_modules/svelte-check": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-4.3.0.tgz", + "integrity": "sha512-Iz8dFXzBNAM7XlEIsUjUGQhbEE+Pvv9odb9+0+ITTgFWZBGeJRRYqHUUglwe2EkLD5LIsQaAc4IUJyvtKuOO5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "chokidar": "^4.0.1", + "fdir": "^6.2.0", + "picocolors": "^1.0.0", + "sade": "^1.7.4" + }, + "bin": { + "svelte-check": "bin/svelte-check" + }, + "engines": { + "node": ">= 18.0.0" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0", + "typescript": ">=5.0.0" + } + }, + "node_modules/svelte-eslint-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.3.0.tgz", + "integrity": "sha512-VCgMHKV7UtOGcGLGNFSbmdm6kEKjtzo5nnpGU/mnx4OsFY6bZ7QwRF5DUx+Hokw5Lvdyo8dpk8B1m8mliomrNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.0.0", + "postcss": "^8.4.49", + "postcss-scss": "^4.0.9", + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://github.com/sponsors/ota-meshi" + }, + "peerDependencies": { + "svelte": "^3.37.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/svelte-eslint-parser/node_modules/postcss-selector-parser": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", + "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/svelte-sonner": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/svelte-sonner/-/svelte-sonner-1.0.5.tgz", + "integrity": "sha512-9dpGPFqKb/QWudYqGnEz93vuY+NgCEvyNvxoCLMVGw6sDN/3oVeKV1xiEirW2E1N3vJEyj5imSBNOGltQHA7mg==", + "license": "MIT", + "dependencies": { + "runed": "^0.28.0" + }, + "peerDependencies": { + "svelte": "^5.0.0" + } + }, + "node_modules/svelte-sonner/node_modules/runed": { + "version": "0.28.0", + "resolved": "https://registry.npmjs.org/runed/-/runed-0.28.0.tgz", + "integrity": "sha512-k2xx7RuO9hWcdd9f+8JoBeqWtYrm5CALfgpkg2YDB80ds/QE4w0qqu34A7fqiAwiBBSBQOid7TLxwxVC27ymWQ==", + "funding": [ + "https://github.com/sponsors/huntabyte", + "https://github.com/sponsors/tglide" + ], + "license": "MIT", + "dependencies": { + "esm-env": "^1.0.0" + }, + "peerDependencies": { + "svelte": "^5.7.0" + } + }, + "node_modules/svelte-toolbelt": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/svelte-toolbelt/-/svelte-toolbelt-0.7.1.tgz", + "integrity": "sha512-HcBOcR17Vx9bjaOceUvxkY3nGmbBmCBBbuWLLEWO6jtmWH8f/QoWmbyUfQZrpDINH39en1b8mptfPQT9VKQ1xQ==", + "funding": [ + "https://github.com/sponsors/huntabyte" + ], + "dependencies": { + "clsx": "^2.1.1", + "runed": "^0.23.2", + "style-to-object": "^1.0.8" + }, + "engines": { + "node": ">=18", + "pnpm": ">=8.7.0" + }, + "peerDependencies": { + "svelte": "^5.0.0" + } + }, + "node_modules/svelte-toolbelt/node_modules/runed": { + "version": "0.23.4", + "resolved": "https://registry.npmjs.org/runed/-/runed-0.23.4.tgz", + "integrity": "sha512-9q8oUiBYeXIDLWNK5DfCWlkL0EW3oGbk845VdKlPeia28l751VpfesaB/+7pI6rnbx1I6rqoZ2fZxptOJLxILA==", + "funding": [ + "https://github.com/sponsors/huntabyte", + "https://github.com/sponsors/tglide" + ], + "dependencies": { + "esm-env": "^1.0.0" + }, + "peerDependencies": { + "svelte": "^5.7.0" + } + }, + "node_modules/svelte/node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/svelte/node_modules/esrap": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.1.0.tgz", + "integrity": "sha512-yzmPNpl7TBbMRC5Lj2JlJZNPml0tzqoqP5B1JXycNUwtqma9AKCO0M2wHrdgsHcy1WRW7S9rJknAMtByg3usgA==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/svelte/node_modules/is-reference": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.6" + } + }, + "node_modules/svelte2tsx": { + "version": "0.7.41", + "resolved": "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.7.41.tgz", + "integrity": "sha512-/TUwpyn/Qc1wcGuayf2GSwvZ7htdAOzpo0JFFm96srKnRXoTD0gy4n06g+XgH8w016S3lPtyFVtFAm+0yJ0BZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "dedent-js": "^1.0.1", + "pascal-case": "^3.1.1" + }, + "peerDependencies": { + "svelte": "^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0", + "typescript": "^4.9.4 || ^5.0.0" + } + }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==", + "dev": true, + "license": "MIT" + }, + "node_modules/tailwind-merge": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", + "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwind-variants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-1.0.0.tgz", + "integrity": "sha512-2WSbv4ulEEyuBKomOunut65D8UZwxrHoRfYnxGcQNnHqlSCp2+B7Yz2W+yrNDrxRodOXtGD/1oCcKGNBnUqMqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tailwind-merge": "3.0.2" + }, + "engines": { + "node": ">=16.x", + "pnpm": ">=7.x" + }, + "peerDependencies": { + "tailwindcss": "*" + } + }, + "node_modules/tailwind-variants/node_modules/tailwind-merge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.0.2.tgz", + "integrity": "sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.11.tgz", + "integrity": "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", + "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinybench": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", + "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", + "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinypool": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", + "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", + "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", + "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.10" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/tw-animate-css": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/tw-animate-css/-/tw-animate-css-1.3.5.tgz", + "integrity": "sha512-t3u+0YNoloIhj1mMXs779P6MO9q3p3mvGn4k1n3nJPqJw/glZcuijG2qTSN4z4mgNRfW5ZC3aXJFLwDtiipZXA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Wombosvideo" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.37.0.tgz", + "integrity": "sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.37.0", + "@typescript-eslint/parser": "8.37.0", + "@typescript-eslint/typescript-estree": "8.37.0", + "@typescript-eslint/utils": "8.37.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-after/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/unist-util-visit/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unplugin": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz", + "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.14.0", + "webpack-virtual-modules": "^0.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/uuid": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/vfile/node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile/node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.5.tgz", + "integrity": "sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.6", + "picomatch": "^4.0.2", + "postcss": "^8.5.6", + "rollup": "^4.40.0", + "tinyglobby": "^0.2.14" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", + "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.4.1", + "es-module-lexer": "^1.7.0", + "pathe": "^2.0.3", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vite-plugin-devtools-json": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vite-plugin-devtools-json/-/vite-plugin-devtools-json-0.2.1.tgz", + "integrity": "sha512-5aiNvf/iLTuLR1dUqoI5CLLGgeK2hd6u+tA+RIp7GUZDyAcM6ECaUEWOOtGpidbcxbkKq++KtmSqA3jhMbPwMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "uuid": "^11.1.0" + }, + "peerDependencies": { + "vite": "^2.7.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/vite-plugin-devtools-json/node_modules/uuid": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", + "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/esm/bin/uuid" + } + }, + "node_modules/vite/node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/vitefu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", + "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", + "dev": true, + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vitest": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", + "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "^5.2.2", + "@vitest/expect": "3.2.4", + "@vitest/mocker": "3.2.4", + "@vitest/pretty-format": "^3.2.4", + "@vitest/runner": "3.2.4", + "@vitest/snapshot": "3.2.4", + "@vitest/spy": "3.2.4", + "@vitest/utils": "3.2.4", + "chai": "^5.2.0", + "debug": "^4.4.1", + "expect-type": "^1.2.1", + "magic-string": "^0.30.17", + "pathe": "^2.0.3", + "picomatch": "^4.0.2", + "std-env": "^3.9.0", + "tinybench": "^2.9.0", + "tinyexec": "^0.3.2", + "tinyglobby": "^0.2.14", + "tinypool": "^1.1.1", + "tinyrainbow": "^2.0.0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", + "vite-node": "3.2.4", + "why-is-node-running": "^2.3.0" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/debug": "^4.1.12", + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "@vitest/browser": "3.2.4", + "@vitest/ui": "3.2.4", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/debug": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vitest-browser-svelte": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/vitest-browser-svelte/-/vitest-browser-svelte-0.1.0.tgz", + "integrity": "sha512-YB6ZUZZQNqU1T9NzvTEDpwpPv35Ng1NZMPBh81zDrLEdOgROGE6nJb79NWb1Eu/a8VkHifqArpOZfJfALge6xQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@vitest/browser": "^2.1.0 || ^3.0.0-0", + "svelte": ">3.0.0", + "vitest": "^2.1.0 || ^3.0.0-0" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zimmerframe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", + "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==", + "license": "MIT" + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } } diff --git a/tools/server/webui/package.json b/tools/server/webui/package.json index 8076840324..30c7cd15c6 100644 --- a/tools/server/webui/package.json +++ b/tools/server/webui/package.json @@ -1,66 +1,90 @@ { - "name": "webui", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite", - "build": "npm run format && tsc -b && vite build", - "format": "eslint . && prettier --write .", - "lint": "eslint .", - "preview": "vite preview" - }, - "dependencies": { - "@heroicons/react": "^2.2.0", - "@sec-ant/readable-stream": "^0.6.0", - "@tailwindcss/postcss": "^4.1.1", - "@tailwindcss/vite": "^4.1.1", - "@vscode/markdown-it-katex": "^1.1.1", - "autoprefixer": "^10.4.20", - "daisyui": "^5.0.12", - "dexie": "^4.0.11", - "highlight.js": "^11.10.0", - "katex": "^0.16.15", - "pdfjs-dist": "^5.2.133", - "postcss": "^8.4.49", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-dropzone": "^14.3.8", - "react-hot-toast": "^2.5.2", - "react-markdown": "^9.0.3", - "react-router": "^7.1.5", - "rehype-highlight": "^7.0.2", - "rehype-katex": "^7.0.1", - "remark-breaks": "^4.0.0", - "remark-gfm": "^4.0.0", - "remark-math": "^6.0.0", - "tailwindcss": "^4.1.1", - "textlinestream": "^1.1.1", - "vite-plugin-singlefile": "^2.0.3" - }, - "devDependencies": { - "@eslint/js": "^9.17.0", - "@types/markdown-it": "^14.1.2", - "@types/node": "^22.13.1", - "@types/react": "^18.3.18", - "@types/react-dom": "^18.3.5", - "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.17.0", - "eslint-plugin-react-hooks": "^5.0.0", - "eslint-plugin-react-refresh": "^0.4.16", - "fflate": "^0.8.2", - "globals": "^15.14.0", - "prettier": "^3.4.2", - "sass-embedded": "^1.83.4", - "typescript": "~5.6.2", - "typescript-eslint": "^8.18.2", - "vite": "^6.0.5" - }, - "prettier": { - "trailingComma": "es5", - "tabWidth": 2, - "semi": true, - "singleQuote": true, - "bracketSameLine": false - } + "name": "webui", + "private": true, + "version": "1.0.0", + "type": "module", + "scripts": { + "dev": "vite dev --host 0.0.0.0 & storybook dev -p 6006 --ci", + "build": "vite build && ./scripts/post-build.sh", + "preview": "vite preview", + "prepare": "svelte-kit sync || echo ''", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch", + "reset": "rm -rf .svelte-kit node_modules", + "format": "prettier --write .", + "lint": "prettier --check . && eslint .", + "test": "npm run test:ui -- --run && npm run test:client -- --run && npm run test:server -- --run && npm run test:e2e", + "test:e2e": "playwright test", + "test:client": "vitest --project=client", + "test:server": "vitest --project=server", + "test:ui": "vitest --project=ui", + "test:unit": "vitest", + "storybook": "storybook dev -p 6006", + "build-storybook": "storybook build" + }, + "devDependencies": { + "@chromatic-com/storybook": "^4.0.1", + "@eslint/compat": "^1.2.5", + "@eslint/js": "^9.18.0", + "@internationalized/date": "^3.8.2", + "@lucide/svelte": "^0.515.0", + "@playwright/test": "^1.49.1", + "@storybook/addon-a11y": "^9.0.17", + "@storybook/addon-docs": "^9.0.17", + "@storybook/addon-svelte-csf": "^5.0.7", + "@storybook/addon-vitest": "^9.0.17", + "@storybook/sveltekit": "^9.0.17", + "@sveltejs/adapter-static": "^3.0.8", + "@sveltejs/kit": "^2.22.0", + "@sveltejs/vite-plugin-svelte": "^6.0.0", + "@tailwindcss/forms": "^0.5.9", + "@tailwindcss/typography": "^0.5.15", + "@tailwindcss/vite": "^4.0.0", + "@types/node": "^22", + "@vitest/browser": "^3.2.3", + "bits-ui": "^2.8.11", + "clsx": "^2.1.1", + "dexie": "^4.0.11", + "eslint": "^9.18.0", + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-storybook": "^9.0.17", + "eslint-plugin-svelte": "^3.0.0", + "fflate": "^0.8.2", + "globals": "^16.0.0", + "mdsvex": "^0.12.3", + "playwright": "^1.53.0", + "prettier": "^3.4.2", + "prettier-plugin-svelte": "^3.3.3", + "prettier-plugin-tailwindcss": "^0.6.11", + "rehype-katex": "^7.0.1", + "remark-math": "^6.0.0", + "storybook": "^9.0.17", + "svelte": "^5.0.0", + "svelte-check": "^4.0.0", + "tailwind-merge": "^3.3.1", + "tailwind-variants": "^1.0.0", + "tailwindcss": "^4.0.0", + "tw-animate-css": "^1.3.5", + "typescript": "^5.0.0", + "typescript-eslint": "^8.20.0", + "uuid": "^13.0.0", + "vite": "^7.0.4", + "vite-plugin-devtools-json": "^0.2.0", + "vitest": "^3.2.3", + "vitest-browser-svelte": "^0.1.0" + }, + "dependencies": { + "highlight.js": "^11.11.1", + "mode-watcher": "^1.1.0", + "pdfjs-dist": "^5.4.54", + "rehype-highlight": "^7.0.2", + "rehype-stringify": "^10.0.1", + "remark": "^15.0.1", + "remark-breaks": "^4.0.0", + "remark-gfm": "^4.0.1", + "remark-html": "^16.0.1", + "remark-rehype": "^11.1.2", + "svelte-sonner": "^1.0.5", + "unist-util-visit": "^5.0.0" + } } diff --git a/tools/server/webui/playwright.config.ts b/tools/server/webui/playwright.config.ts new file mode 100644 index 0000000000..90ca19b09f --- /dev/null +++ b/tools/server/webui/playwright.config.ts @@ -0,0 +1,9 @@ +import { defineConfig } from '@playwright/test'; + +export default defineConfig({ + webServer: { + command: 'npm run build && npx http-server ../public -p 8181', + port: 8181 + }, + testDir: 'e2e' +}); diff --git a/tools/server/webui/postcss.config.js b/tools/server/webui/postcss.config.js deleted file mode 100644 index fb05b5692b..0000000000 --- a/tools/server/webui/postcss.config.js +++ /dev/null @@ -1,5 +0,0 @@ -export default { - plugins: { - "@tailwindcss/postcss": {}, - }, -} diff --git a/tools/server/webui/public/demo-conversation.json b/tools/server/webui/public/demo-conversation.json deleted file mode 100644 index 338b4aea59..0000000000 --- a/tools/server/webui/public/demo-conversation.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "demo": true, - "id": "conv-1734086746930", - "lastModified": 1734087548943, - "messages": [ - { - "id": 1734086764521, - "role": "user", - "content": "this is a demo conversation, used in dev mode" - }, - { - "id": 1734087548327, - "role": "assistant", - "content": "This is the formula:\n\n$\\frac{e^{x_i}}{\\sum_{j=1}^{n}e^{x_j}}$\n\nGiven an input vector \\(\\mathbf{x} = [x_1, x_2, \\ldots, x_n]\\)\n\n\\[\ny_i = \\frac{e^{x_i}}{\\sum_{j=1}^n e^{x_j}}\n\\]\n\n$2x + y = z$\n\nCode block latex:\n```latex\n\\frac{e^{x_i}}{\\sum_{j=1}^{n}e^{x_j}}\n```\n\nTest dollar sign: $1234 $4567\n\nInvalid latex syntax: $E = mc^$ and $$E = mc^$$", - "timings": { - "prompt_n": 1, - "prompt_ms": 28.923, - "predicted_n": 25, - "predicted_ms": 573.016 - } - }, - { - "id": 1734087548328, - "role": "user", - "content": "this is a demo conversation, used in dev mode" - }, - { - "id": 1734087548329, - "role": "assistant", - "content": "Code block:\n```js\nconsole.log('hello world')\n```\n```sh\nls -la /dev\n```" - } - ] -} diff --git a/tools/server/webui/scripts/install-git-hooks.sh b/tools/server/webui/scripts/install-git-hooks.sh new file mode 100755 index 0000000000..740075e281 --- /dev/null +++ b/tools/server/webui/scripts/install-git-hooks.sh @@ -0,0 +1,123 @@ +#!/bin/bash + +# Script to install pre-commit and post-commit hooks for webui +# Pre-commit: formats code and builds, stashes unstaged changes +# Post-commit: automatically unstashes changes + +REPO_ROOT=$(git rev-parse --show-toplevel) +PRE_COMMIT_HOOK="$REPO_ROOT/.git/hooks/pre-commit" +POST_COMMIT_HOOK="$REPO_ROOT/.git/hooks/post-commit" + +echo "Installing pre-commit and post-commit hooks for webui..." + +# Create the pre-commit hook +cat > "$PRE_COMMIT_HOOK" << 'EOF' +#!/bin/bash + +# Check if there are any changes in the webui directory +if git diff --cached --name-only | grep -q "^tools/server/webui/"; then + echo "Formatting webui code..." + + # Change to webui directory and run format + cd tools/server/webui + + # Check if npm is available and package.json exists + if [ ! -f "package.json" ]; then + echo "Error: package.json not found in tools/server/webui" + exit 1 + fi + + # Stash any unstaged changes to avoid conflicts during format/build + echo "Stashing unstaged changes..." + git stash push --keep-index --include-untracked -m "Pre-commit hook: stashed unstaged changes" + STASH_CREATED=$? + + # Run the format command + npm run format + + # Check if format command succeeded + if [ $? -ne 0 ]; then + echo "Error: npm run format failed" + if [ $STASH_CREATED -eq 0 ]; then + echo "You can restore your unstaged changes with: git stash pop" + fi + exit 1 + fi + + # Run the check command + npm run check + + # Check if check command succeeded + if [ $? -ne 0 ]; then + echo "Error: npm run check failed" + if [ $STASH_CREATED -eq 0 ]; then + echo "You can restore your unstaged changes with: git stash pop" + fi + exit 1 + fi + + # Run the build command + npm run build + + # Check if build command succeeded + if [ $? -ne 0 ]; then + echo "Error: npm run build failed" + if [ $STASH_CREATED -eq 0 ]; then + echo "You can restore your unstaged changes with: git stash pop" + fi + exit 1 + fi + + # Go back to repo root to add build output + cd ../../.. + + # Add the build output to staging area + git add tools/server/public/index.html.gz + + if [ $STASH_CREATED -eq 0 ]; then + echo "✅ Build completed. Your unstaged changes have been stashed." + echo "They will be automatically restored after the commit." + # Create a marker file to indicate stash was created by pre-commit hook + touch .git/WEBUI_STASH_MARKER + fi + + echo "Webui code formatted successfully" +fi + +exit 0 +EOF + +# Create the post-commit hook +cat > "$POST_COMMIT_HOOK" << 'EOF' +#!/bin/bash + +# Check if we have a stash marker from the pre-commit hook +if [ -f .git/WEBUI_STASH_MARKER ]; then + echo "Restoring your unstaged changes..." + git stash pop + rm -f .git/WEBUI_STASH_MARKER + echo "✅ Your unstaged changes have been restored." +fi + +exit 0 +EOF + +# Make both hooks executable +chmod +x "$PRE_COMMIT_HOOK" +chmod +x "$POST_COMMIT_HOOK" + +if [ $? -eq 0 ]; then + echo "✅ Pre-commit and post-commit hooks installed successfully!" + echo " Pre-commit: $PRE_COMMIT_HOOK" + echo " Post-commit: $POST_COMMIT_HOOK" + echo "" + echo "The hooks will automatically:" + echo " • Format and build webui code before commits" + echo " • Stash unstaged changes during the process" + echo " • Restore your unstaged changes after the commit" + echo "" + echo "To test the hooks, make a change to a file in the webui directory and commit it." +else + echo "❌ Failed to make hooks executable" + exit 1 +fi diff --git a/tools/server/webui/scripts/post-build.sh b/tools/server/webui/scripts/post-build.sh new file mode 100755 index 0000000000..ae5c1f30be --- /dev/null +++ b/tools/server/webui/scripts/post-build.sh @@ -0,0 +1,3 @@ +rm -rf ../public/_app; +rm ../public/favicon.svg; +rm ../public/index.html; \ No newline at end of file diff --git a/tools/server/webui/src/App.tsx b/tools/server/webui/src/App.tsx deleted file mode 100644 index 8dfcf49075..0000000000 --- a/tools/server/webui/src/App.tsx +++ /dev/null @@ -1,52 +0,0 @@ -import { HashRouter, Outlet, Route, Routes } from 'react-router'; -import Header from './components/Header'; -import Sidebar from './components/Sidebar'; -import { AppContextProvider, useAppContext } from './utils/app.context'; -import ChatScreen from './components/ChatScreen'; -import SettingDialog from './components/SettingDialog'; -import { Toaster } from 'react-hot-toast'; -import { ModalProvider } from './components/ModalProvider'; - -function App() { - return ( - - -
- - - }> - } /> - } /> - - - -
-
-
- ); -} - -function AppLayout() { - const { showSettings, setShowSettings } = useAppContext(); - return ( - <> - -
-
- -
- { - setShowSettings(false)} - /> - } - - - ); -} - -export default App; diff --git a/tools/server/webui/src/Config.ts b/tools/server/webui/src/Config.ts deleted file mode 100644 index c03ac287f3..0000000000 --- a/tools/server/webui/src/Config.ts +++ /dev/null @@ -1,96 +0,0 @@ -import daisyuiThemes from 'daisyui/theme/object'; -import { isNumeric } from './utils/misc'; - -export const isDev = import.meta.env.MODE === 'development'; - -// constants -export const BASE_URL = new URL('.', document.baseURI).href - .toString() - .replace(/\/$/, ''); - -export const CONFIG_DEFAULT = { - // Note: in order not to introduce breaking changes, please keep the same data type (number, string, etc) if you want to change the default value. Do not use null or undefined for default value. - // Do not use nested objects, keep it single level. Prefix the key if you need to group them. - apiKey: '', - systemMessage: '', - showTokensPerSecond: false, - showThoughtInProgress: false, - excludeThoughtOnReq: true, - pasteLongTextToFileLen: 2500, - pdfAsImage: false, - // make sure these default values are in sync with `common.h` - samplers: 'edkypmxt', - temperature: 0.8, - dynatemp_range: 0.0, - dynatemp_exponent: 1.0, - top_k: 40, - top_p: 0.95, - min_p: 0.05, - xtc_probability: 0.0, - xtc_threshold: 0.1, - typical_p: 1.0, - repeat_last_n: 64, - repeat_penalty: 1.0, - presence_penalty: 0.0, - frequency_penalty: 0.0, - dry_multiplier: 0.0, - dry_base: 1.75, - dry_allowed_length: 2, - dry_penalty_last_n: -1, - max_tokens: -1, - custom: '', // custom json-stringified object - // experimental features - pyIntepreterEnabled: false, -}; -export const CONFIG_INFO: Record = { - apiKey: 'Set the API Key if you are using --api-key option for the server.', - systemMessage: 'The starting message that defines how model should behave.', - pasteLongTextToFileLen: - 'On pasting long text, it will be converted to a file. You can control the file length by setting the value of this parameter. Value 0 means disable.', - samplers: - 'The order at which samplers are applied, in simplified way. Default is "dkypmxt": dry->top_k->typ_p->top_p->min_p->xtc->temperature', - temperature: - 'Controls the randomness of the generated text by affecting the probability distribution of the output tokens. Higher = more random, lower = more focused.', - dynatemp_range: - 'Addon for the temperature sampler. The added value to the range of dynamic temperature, which adjusts probabilities by entropy of tokens.', - dynatemp_exponent: - 'Addon for the temperature sampler. Smoothes out the probability redistribution based on the most probable token.', - top_k: 'Keeps only k top tokens.', - top_p: - 'Limits tokens to those that together have a cumulative probability of at least p', - min_p: - 'Limits tokens based on the minimum probability for a token to be considered, relative to the probability of the most likely token.', - xtc_probability: - 'XTC sampler cuts out top tokens; this parameter controls the chance of cutting tokens at all. 0 disables XTC.', - xtc_threshold: - 'XTC sampler cuts out top tokens; this parameter controls the token probability that is required to cut that token.', - typical_p: - 'Sorts and limits tokens based on the difference between log-probability and entropy.', - repeat_last_n: 'Last n tokens to consider for penalizing repetition', - repeat_penalty: - 'Controls the repetition of token sequences in the generated text', - presence_penalty: - 'Limits tokens based on whether they appear in the output or not.', - frequency_penalty: - 'Limits tokens based on how often they appear in the output.', - dry_multiplier: - 'DRY sampling reduces repetition in generated text even across long contexts. This parameter sets the DRY sampling multiplier.', - dry_base: - 'DRY sampling reduces repetition in generated text even across long contexts. This parameter sets the DRY sampling base value.', - dry_allowed_length: - 'DRY sampling reduces repetition in generated text even across long contexts. This parameter sets the allowed length for DRY sampling.', - dry_penalty_last_n: - 'DRY sampling reduces repetition in generated text even across long contexts. This parameter sets DRY penalty for the last n tokens.', - max_tokens: 'The maximum number of token per output.', - custom: '', // custom json-stringified object -}; -// config keys having numeric value (i.e. temperature, top_k, top_p, etc) -export const CONFIG_NUMERIC_KEYS = Object.entries(CONFIG_DEFAULT) - .filter((e) => isNumeric(e[1])) - .map((e) => e[0]); -// list of themes supported by daisyui -export const THEMES = ['light', 'dark'] - // make sure light & dark are always at the beginning - .concat( - Object.keys(daisyuiThemes).filter((t) => t !== 'light' && t !== 'dark') - ); diff --git a/tools/server/webui/src/app.css b/tools/server/webui/src/app.css new file mode 100644 index 0000000000..d05a422f02 --- /dev/null +++ b/tools/server/webui/src/app.css @@ -0,0 +1,123 @@ +@import 'tailwindcss'; + +@import 'tw-animate-css'; + +@custom-variant dark (&:is(.dark *)); + +:root { + --radius: 0.625rem; + --background: oklch(1 0 0); + --foreground: oklch(0.145 0 0); + --card: oklch(1 0 0); + --card-foreground: oklch(0.145 0 0); + --popover: oklch(1 0 0); + --popover-foreground: oklch(0.145 0 0); + --primary: oklch(0.205 0 0); + --primary-foreground: oklch(0.985 0 0); + --secondary: oklch(0.97 0 0); + --secondary-foreground: oklch(0.205 0 0); + --muted: oklch(0.97 0 0); + --muted-foreground: oklch(0.556 0 0); + --accent: oklch(0.97 0 0); + --accent-foreground: oklch(0.205 0 0); + --destructive: oklch(0.577 0.245 27.325); + --border: oklch(0.875 0 0); + --input: oklch(0.92 0 0); + --ring: oklch(0.708 0 0); + --chart-1: oklch(0.646 0.222 41.116); + --chart-2: oklch(0.6 0.118 184.704); + --chart-3: oklch(0.398 0.07 227.392); + --chart-4: oklch(0.828 0.189 84.429); + --chart-5: oklch(0.769 0.188 70.08); + --sidebar: oklch(0.985 0 0); + --sidebar-foreground: oklch(0.145 0 0); + --sidebar-primary: oklch(0.205 0 0); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.97 0 0); + --sidebar-accent-foreground: oklch(0.205 0 0); + --sidebar-border: oklch(0.922 0 0); + --sidebar-ring: oklch(0.708 0 0); + --code-background: oklch(0.225 0 0); + --code-foreground: oklch(0.875 0 0); +} + +.dark { + --background: oklch(0.16 0 0); + --foreground: oklch(0.985 0 0); + --card: oklch(0.205 0 0); + --card-foreground: oklch(0.985 0 0); + --popover: oklch(0.205 0 0); + --popover-foreground: oklch(0.985 0 0); + --primary: oklch(0.922 0 0); + --primary-foreground: oklch(0.205 0 0); + --secondary: oklch(0.269 0 0); + --secondary-foreground: oklch(0.985 0 0); + --muted: oklch(0.269 0 0); + --muted-foreground: oklch(0.708 0 0); + --accent: oklch(0.269 0 0); + --accent-foreground: oklch(0.985 0 0); + --destructive: oklch(0.704 0.191 22.216); + --border: oklch(1 0 0 / 30%); + --input: oklch(1 0 0 / 30%); + --ring: oklch(0.556 0 0); + --chart-1: oklch(0.488 0.243 264.376); + --chart-2: oklch(0.696 0.17 162.48); + --chart-3: oklch(0.769 0.188 70.08); + --chart-4: oklch(0.627 0.265 303.9); + --chart-5: oklch(0.645 0.246 16.439); + --sidebar: oklch(0.205 0 0); + --sidebar-foreground: oklch(0.985 0 0); + --sidebar-primary: oklch(0.488 0.243 264.376); + --sidebar-primary-foreground: oklch(0.985 0 0); + --sidebar-accent: oklch(0.269 0 0); + --sidebar-accent-foreground: oklch(0.985 0 0); + --sidebar-border: oklch(1 0 0 / 10%); + --sidebar-ring: oklch(0.556 0 0); +} + +@theme inline { + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); +} + +@layer base { + * { + @apply border-border outline-ring/50; + } + body { + @apply bg-background text-foreground; + } +} diff --git a/tools/server/webui/src/app.d.ts b/tools/server/webui/src/app.d.ts new file mode 100644 index 0000000000..e9bb140939 --- /dev/null +++ b/tools/server/webui/src/app.d.ts @@ -0,0 +1,81 @@ +// See https://svelte.dev/docs/kit/types#app.d.ts +// for information about these interfaces + +// Import chat types from dedicated module + +import type { + ApiChatCompletionRequest, + ApiChatCompletionResponse, + ApiChatCompletionStreamChunk, + ApiChatMessageData, + ApiChatMessageContentPart, + ApiContextSizeError, + ApiErrorResponse, + ApiLlamaCppServerProps, + ApiProcessingState +} from '$lib/types/api'; + +import type { + ChatMessageType, + ChatRole, + ChatUploadedFile, + ChatMessageSiblingInfo, + ChatMessagePromptProgress, + ChatMessageTimings +} from '$lib/types/chat'; + +import type { + DatabaseConversation, + DatabaseMessage, + DatabaseMessageExtra, + DatabaseMessageExtraAudioFile, + DatabaseMessageExtraImageFile, + DatabaseMessageExtraTextFile, + DatabaseMessageExtraPdfFile +} from '$lib/types/database'; + +import type { + SettingsConfigValue, + SettingsFieldConfig, + SettingsConfigType +} from '$lib/types/settings'; + +declare global { + // namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + // } + + export { + ApiChatCompletionRequest, + ApiChatCompletionResponse, + ApiChatCompletionStreamChunk, + ApiChatMessageData, + ApiChatMessageContentPart, + ApiContextSizeError, + ApiErrorResponse, + ApiLlamaCppServerProps, + ApiProcessingState, + ChatMessageData, + ChatMessagePromptProgress, + ChatMessageSiblingInfo, + ChatMessageTimings, + ChatMessageType, + ChatRole, + ChatUploadedFile, + DatabaseConversation, + DatabaseMessage, + DatabaseMessageExtra, + DatabaseMessageExtraAudioFile, + DatabaseMessageExtraImageFile, + DatabaseMessageExtraTextFile, + DatabaseMessageExtraPdfFile, + SettingsConfigValue, + SettingsFieldConfig, + SettingsConfigType, + SettingsChatServiceOptions + }; +} diff --git a/tools/server/webui/src/app.html b/tools/server/webui/src/app.html new file mode 100644 index 0000000000..1391f88488 --- /dev/null +++ b/tools/server/webui/src/app.html @@ -0,0 +1,12 @@ + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/tools/server/webui/src/components/CanvasPyInterpreter.tsx b/tools/server/webui/src/components/CanvasPyInterpreter.tsx deleted file mode 100644 index c2707fe20f..0000000000 --- a/tools/server/webui/src/components/CanvasPyInterpreter.tsx +++ /dev/null @@ -1,195 +0,0 @@ -import { useEffect, useState } from 'react'; -import { useAppContext } from '../utils/app.context'; -import { OpenInNewTab, XCloseButton } from '../utils/common'; -import { CanvasType } from '../utils/types'; -import { PlayIcon, StopIcon } from '@heroicons/react/24/outline'; -import StorageUtils from '../utils/storage'; - -const canInterrupt = typeof SharedArrayBuffer === 'function'; - -// adapted from https://pyodide.org/en/stable/usage/webworker.html -const WORKER_CODE = ` -importScripts("https://cdn.jsdelivr.net/pyodide/v0.27.2/full/pyodide.js"); - -let stdOutAndErr = []; - -let pyodideReadyPromise = loadPyodide({ - stdout: (data) => stdOutAndErr.push(data), - stderr: (data) => stdOutAndErr.push(data), -}); - -let alreadySetBuff = false; - -self.onmessage = async (event) => { - stdOutAndErr = []; - - // make sure loading is done - const pyodide = await pyodideReadyPromise; - const { id, python, context, interruptBuffer } = event.data; - - if (interruptBuffer && !alreadySetBuff) { - pyodide.setInterruptBuffer(interruptBuffer); - alreadySetBuff = true; - } - - // Now load any packages we need, run the code, and send the result back. - await pyodide.loadPackagesFromImports(python); - - // make a Python dictionary with the data from content - const dict = pyodide.globals.get("dict"); - const globals = dict(Object.entries(context)); - try { - self.postMessage({ id, running: true }); - // Execute the python code in this context - const result = pyodide.runPython(python, { globals }); - self.postMessage({ result, id, stdOutAndErr }); - } catch (error) { - self.postMessage({ error: error.message, id }); - } - interruptBuffer[0] = 0; -}; -`; - -let worker: Worker; -const interruptBuffer = canInterrupt - ? new Uint8Array(new SharedArrayBuffer(1)) - : null; - -const startWorker = () => { - if (!worker) { - worker = new Worker( - URL.createObjectURL(new Blob([WORKER_CODE], { type: 'text/javascript' })) - ); - } -}; - -if (StorageUtils.getConfig().pyIntepreterEnabled) { - startWorker(); -} - -const runCodeInWorker = ( - pyCode: string, - callbackRunning: () => void -): { - donePromise: Promise; - interrupt: () => void; -} => { - startWorker(); - const id = Math.random() * 1e8; - const context = {}; - if (interruptBuffer) { - interruptBuffer[0] = 0; - } - - const donePromise = new Promise((resolve) => { - worker.onmessage = (event) => { - const { error, stdOutAndErr, running } = event.data; - if (id !== event.data.id) return; - if (running) { - callbackRunning(); - return; - } else if (error) { - resolve(error.toString()); - } else { - resolve(stdOutAndErr.join('\n')); - } - }; - worker.postMessage({ id, python: pyCode, context, interruptBuffer }); - }); - - const interrupt = () => { - console.log('Interrupting...'); - console.trace(); - if (interruptBuffer) { - interruptBuffer[0] = 2; - } - }; - - return { donePromise, interrupt }; -}; - -export default function CanvasPyInterpreter() { - const { canvasData, setCanvasData } = useAppContext(); - - const [code, setCode] = useState(canvasData?.content ?? ''); // copy to avoid direct mutation - const [running, setRunning] = useState(false); - const [output, setOutput] = useState(''); - const [interruptFn, setInterruptFn] = useState<() => void>(); - const [showStopBtn, setShowStopBtn] = useState(false); - - const runCode = async (pycode: string) => { - interruptFn?.(); - setRunning(true); - setOutput('Loading Pyodide...'); - const { donePromise, interrupt } = runCodeInWorker(pycode, () => { - setOutput('Running...'); - setShowStopBtn(canInterrupt); - }); - setInterruptFn(() => interrupt); - const out = await donePromise; - setOutput(out); - setRunning(false); - setShowStopBtn(false); - }; - - // run code on mount - useEffect(() => { - setCode(canvasData?.content ?? ''); - runCode(canvasData?.content ?? ''); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [canvasData?.content]); - - if (canvasData?.type !== CanvasType.PY_INTERPRETER) { - return null; - } - - return ( -
-
-
- Python Interpreter - setCanvasData(null)} - /> -
-
- -
-
- - {showStopBtn && ( - - )} - - - Report a bug - - -
- -
-
-
-
- ); -} diff --git a/tools/server/webui/src/components/ChatInputExtraContextItem.tsx b/tools/server/webui/src/components/ChatInputExtraContextItem.tsx deleted file mode 100644 index 2d4179ea47..0000000000 --- a/tools/server/webui/src/components/ChatInputExtraContextItem.tsx +++ /dev/null @@ -1,135 +0,0 @@ -import { - DocumentTextIcon, - SpeakerWaveIcon, - XMarkIcon, -} from '@heroicons/react/24/outline'; -import { MessageExtra } from '../utils/types'; -import { useState } from 'react'; -import { classNames } from '../utils/misc'; - -export default function ChatInputExtraContextItem({ - items, - removeItem, - clickToShow, -}: { - items?: MessageExtra[]; - removeItem?: (index: number) => void; - clickToShow?: boolean; -}) { - const [show, setShow] = useState(-1); - const showingItem = show >= 0 ? items?.[show] : undefined; - - if (!items) return null; - - return ( -
- {items.map((item, i) => ( -
clickToShow && setShow(i)} - tabIndex={0} - aria-description={ - clickToShow ? `Click to show: ${item.name}` : undefined - } - role={clickToShow ? 'button' : 'menuitem'} - > - {removeItem && ( -
- -
- )} - -
- {item.type === 'imageFile' ? ( - <> - {`Preview - - ) : ( - <> -
- {item.type === 'audioFile' ? ( - - ) : ( - - )} -
- -
- {item.name ?? 'Extra content'} -
- - )} -
-
- ))} - - {showingItem && ( - -
-
- {showingItem.name ?? 'Extra content'} - -
- {showingItem.type === 'imageFile' ? ( - {`Preview - ) : showingItem.type === 'audioFile' ? ( - - ) : ( -
-
-                  {showingItem.content}
-                
-
- )} -
-
setShow(-1)}>
-
- )} -
- ); -} diff --git a/tools/server/webui/src/components/ChatMessage.tsx b/tools/server/webui/src/components/ChatMessage.tsx deleted file mode 100644 index a1a7d152f9..0000000000 --- a/tools/server/webui/src/components/ChatMessage.tsx +++ /dev/null @@ -1,320 +0,0 @@ -import { useMemo, useState } from 'react'; -import { useAppContext } from '../utils/app.context'; -import { Message, PendingMessage } from '../utils/types'; -import { classNames } from '../utils/misc'; -import MarkdownDisplay, { CopyButton } from './MarkdownDisplay'; -import { - ArrowPathIcon, - ChevronLeftIcon, - ChevronRightIcon, - PencilSquareIcon, -} from '@heroicons/react/24/outline'; -import ChatInputExtraContextItem from './ChatInputExtraContextItem'; -import { BtnWithTooltips } from '../utils/common'; - -interface SplitMessage { - content: PendingMessage['content']; - thought?: string; - isThinking?: boolean; -} - -export default function ChatMessage({ - msg, - siblingLeafNodeIds, - siblingCurrIdx, - id, - onRegenerateMessage, - onEditMessage, - onChangeSibling, - isPending, -}: { - msg: Message | PendingMessage; - siblingLeafNodeIds: Message['id'][]; - siblingCurrIdx: number; - id?: string; - onRegenerateMessage(msg: Message): void; - onEditMessage(msg: Message, content: string): void; - onChangeSibling(sibling: Message['id']): void; - isPending?: boolean; -}) { - const { viewingChat, config } = useAppContext(); - const [editingContent, setEditingContent] = useState(null); - const timings = useMemo( - () => - msg.timings - ? { - ...msg.timings, - prompt_per_second: - (msg.timings.prompt_n / msg.timings.prompt_ms) * 1000, - predicted_per_second: - (msg.timings.predicted_n / msg.timings.predicted_ms) * 1000, - } - : null, - [msg.timings] - ); - const nextSibling = siblingLeafNodeIds[siblingCurrIdx + 1]; - const prevSibling = siblingLeafNodeIds[siblingCurrIdx - 1]; - - // for reasoning model, we split the message into content and thought - // TODO: implement this as remark/rehype plugin in the future - const { content, thought, isThinking }: SplitMessage = useMemo(() => { - if (msg.content === null || msg.role !== 'assistant') { - return { content: msg.content }; - } - const REGEX_THINK_OPEN = /|<\|channel\|>analysis<\|message\|>/; - const REGEX_THINK_CLOSE = /<\/think>|<\|end\|>/; - let actualContent = ''; - let thought = ''; - let isThinking = false; - let thinkSplit = msg.content.split(REGEX_THINK_OPEN, 2); - actualContent += thinkSplit[0]; - while (thinkSplit[1] !== undefined) { - // tag found - thinkSplit = thinkSplit[1].split(REGEX_THINK_CLOSE, 2); - thought += thinkSplit[0]; - isThinking = true; - if (thinkSplit[1] !== undefined) { - // closing tag found - isThinking = false; - thinkSplit = thinkSplit[1].split(REGEX_THINK_OPEN, 2); - actualContent += thinkSplit[0]; - } - } - return { content: actualContent, thought, isThinking }; - }, [msg]); - - if (!viewingChat) return null; - - const isUser = msg.role === 'user'; - - return ( -
-
- {msg.extra && msg.extra.length > 0 && ( - - )} - -
- {/* textarea for editing message */} - {editingContent !== null && ( - <> - -
- - - - )} - {/* not editing content, render message */} - {editingContent === null && ( - <> - {content === null ? ( - <> - {/* show loading dots for pending message */} - - - ) : ( - <> - {/* render message as markdown */} -
- {thought && ( - - )} - - -
- - )} - {/* render timings if enabled */} - {timings && config.showTokensPerSecond && ( -
-
- Speed: {timings.predicted_per_second.toFixed(1)} t/s -
-
- Prompt -
- Tokens: {timings.prompt_n} -
- Time: {timings.prompt_ms} ms -
- Speed: {timings.prompt_per_second.toFixed(1)} t/s -
- Generation -
- Tokens: {timings.predicted_n} -
- Time: {timings.predicted_ms} ms -
- Speed: {timings.predicted_per_second.toFixed(1)} t/s -
-
-
- )} - - )} -
-
- - {/* actions for each message */} - {msg.content !== null && ( -
- {siblingLeafNodeIds && siblingLeafNodeIds.length > 1 && ( -
- - - {siblingCurrIdx + 1} / {siblingLeafNodeIds.length} - - -
- )} - {/* user message */} - {msg.role === 'user' && ( - setEditingContent(msg.content)} - disabled={msg.content === null} - tooltipsContent="Edit message" - > - - - )} - {/* assistant message */} - {msg.role === 'assistant' && ( - <> - {!isPending && ( - { - if (msg.content !== null) { - onRegenerateMessage(msg as Message); - } - }} - disabled={msg.content === null} - tooltipsContent="Regenerate response" - > - - - )} - - )} - -
- )} -
- ); -} - -function ThoughtProcess({ - isThinking, - content, - open, -}: { - isThinking: boolean; - content: string; - open: boolean; -}) { - return ( -
- -
-
- {isThinking ? ( - - - Thinking - - ) : ( - <>Thought Process - )} -
-
-
-
- -
-
-
- ); -} diff --git a/tools/server/webui/src/components/ChatScreen.tsx b/tools/server/webui/src/components/ChatScreen.tsx deleted file mode 100644 index c1a6691445..0000000000 --- a/tools/server/webui/src/components/ChatScreen.tsx +++ /dev/null @@ -1,459 +0,0 @@ -import { ClipboardEvent, useEffect, useMemo, useRef, useState } from 'react'; -import { CallbackGeneratedChunk, useAppContext } from '../utils/app.context'; -import ChatMessage from './ChatMessage'; -import { CanvasType, Message, PendingMessage } from '../utils/types'; -import { classNames, cleanCurrentUrl } from '../utils/misc'; -import CanvasPyInterpreter from './CanvasPyInterpreter'; -import StorageUtils from '../utils/storage'; -import { useVSCodeContext } from '../utils/llama-vscode'; -import { useChatTextarea, ChatTextareaApi } from './useChatTextarea.ts'; -import { - ArrowUpIcon, - StopIcon, - PaperClipIcon, -} from '@heroicons/react/24/solid'; -import { - ChatExtraContextApi, - useChatExtraContext, -} from './useChatExtraContext.tsx'; -import Dropzone from 'react-dropzone'; -import toast from 'react-hot-toast'; -import ChatInputExtraContextItem from './ChatInputExtraContextItem.tsx'; -import { scrollToBottom, useChatScroll } from './useChatScroll.tsx'; - -/** - * A message display is a message node with additional information for rendering. - * For example, siblings of the message node are stored as their last node (aka leaf node). - */ -export interface MessageDisplay { - msg: Message | PendingMessage; - siblingLeafNodeIds: Message['id'][]; - siblingCurrIdx: number; - isPending?: boolean; -} - -/** - * If the current URL contains "?m=...", prefill the message input with the value. - * If the current URL contains "?q=...", prefill and SEND the message. - */ -const prefilledMsg = { - content() { - const url = new URL(window.location.href); - return url.searchParams.get('m') ?? url.searchParams.get('q') ?? ''; - }, - shouldSend() { - const url = new URL(window.location.href); - return url.searchParams.has('q'); - }, - clear() { - cleanCurrentUrl(['m', 'q']); - }, -}; - -function getListMessageDisplay( - msgs: Readonly, - leafNodeId: Message['id'] -): MessageDisplay[] { - const currNodes = StorageUtils.filterByLeafNodeId(msgs, leafNodeId, true); - const res: MessageDisplay[] = []; - const nodeMap = new Map(); - for (const msg of msgs) { - nodeMap.set(msg.id, msg); - } - // find leaf node from a message node - const findLeafNode = (msgId: Message['id']): Message['id'] => { - let currNode: Message | undefined = nodeMap.get(msgId); - while (currNode) { - if (currNode.children.length === 0) break; - currNode = nodeMap.get(currNode.children.at(-1) ?? -1); - } - return currNode?.id ?? -1; - }; - // traverse the current nodes - for (const msg of currNodes) { - const parentNode = nodeMap.get(msg.parent ?? -1); - if (!parentNode) continue; - const siblings = parentNode.children; - if (msg.type !== 'root') { - res.push({ - msg, - siblingLeafNodeIds: siblings.map(findLeafNode), - siblingCurrIdx: siblings.indexOf(msg.id), - }); - } - } - return res; -} - -export default function ChatScreen() { - const { - viewingChat, - sendMessage, - isGenerating, - stopGenerating, - pendingMessages, - canvasData, - replaceMessageAndGenerate, - } = useAppContext(); - - const textarea: ChatTextareaApi = useChatTextarea(prefilledMsg.content()); - const extraContext = useChatExtraContext(); - useVSCodeContext(textarea, extraContext); - - const msgListRef = useRef(null); - useChatScroll(msgListRef); - - // keep track of leaf node for rendering - const [currNodeId, setCurrNodeId] = useState(-1); - const messages: MessageDisplay[] = useMemo(() => { - if (!viewingChat) return []; - else return getListMessageDisplay(viewingChat.messages, currNodeId); - }, [currNodeId, viewingChat]); - - const currConvId = viewingChat?.conv.id ?? null; - const pendingMsg: PendingMessage | undefined = - pendingMessages[currConvId ?? '']; - - useEffect(() => { - // reset to latest node when conversation changes - setCurrNodeId(-1); - // scroll to bottom when conversation changes - scrollToBottom(false, 1); - }, [currConvId]); - - const onChunk: CallbackGeneratedChunk = (currLeafNodeId?: Message['id']) => { - if (currLeafNodeId) { - setCurrNodeId(currLeafNodeId); - } - // useChatScroll will handle the auto scroll - }; - - const sendNewMessage = async () => { - const lastInpMsg = textarea.value(); - if (lastInpMsg.trim().length === 0 || isGenerating(currConvId ?? '')) { - toast.error('Please enter a message'); - return; - } - textarea.setValue(''); - scrollToBottom(false); - setCurrNodeId(-1); - // get the last message node - const lastMsgNodeId = messages.at(-1)?.msg.id ?? null; - if ( - !(await sendMessage( - currConvId, - lastMsgNodeId, - lastInpMsg, - extraContext.items, - onChunk - )) - ) { - // restore the input message if failed - textarea.setValue(lastInpMsg); - } - // OK - extraContext.clearItems(); - }; - - // for vscode context - textarea.refOnSubmit.current = sendNewMessage; - - const handleEditMessage = async (msg: Message, content: string) => { - if (!viewingChat) return; - setCurrNodeId(msg.id); - scrollToBottom(false); - await replaceMessageAndGenerate( - viewingChat.conv.id, - msg.parent, - content, - msg.extra, - onChunk - ); - setCurrNodeId(-1); - scrollToBottom(false); - }; - - const handleRegenerateMessage = async (msg: Message) => { - if (!viewingChat) return; - setCurrNodeId(msg.parent); - scrollToBottom(false); - await replaceMessageAndGenerate( - viewingChat.conv.id, - msg.parent, - null, - msg.extra, - onChunk - ); - setCurrNodeId(-1); - scrollToBottom(false); - }; - - const hasCanvas = !!canvasData; - - useEffect(() => { - if (prefilledMsg.shouldSend()) { - // send the prefilled message if needed - sendNewMessage(); - } else { - // otherwise, focus on the input - textarea.focus(); - } - prefilledMsg.clear(); - // no need to keep track of sendNewMessage - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [textarea.ref]); - - // due to some timing issues of StorageUtils.appendMsg(), we need to make sure the pendingMsg is not duplicated upon rendering (i.e. appears once in the saved conversation and once in the pendingMsg) - const pendingMsgDisplay: MessageDisplay[] = - pendingMsg && messages.at(-1)?.msg.id !== pendingMsg.id - ? [ - { - msg: pendingMsg, - siblingLeafNodeIds: [], - siblingCurrIdx: 0, - isPending: true, - }, - ] - : []; - - return ( -
-
- {/* chat messages */} -
-
- {/* placeholder to shift the message to the bottom */} - {viewingChat ? ( - '' - ) : ( - <> -
Send a message to start
- - - )} -
- {[...messages, ...pendingMsgDisplay].map((msg) => ( - - ))} -
- - {/* chat input */} - stopGenerating(currConvId ?? '')} - isGenerating={isGenerating(currConvId ?? '')} - /> -
-
- {canvasData?.type === CanvasType.PY_INTERPRETER && ( - - )} -
-
- ); -} - -function ServerInfo() { - const { serverProps } = useAppContext(); - const modalities = []; - if (serverProps?.modalities?.audio) { - modalities.push('audio'); - } - if (serverProps?.modalities?.vision) { - modalities.push('vision'); - } - return ( -
-
- Server Info -

- Model: {serverProps?.model_path?.split(/(\\|\/)/).pop()} -
- Build: {serverProps?.build_info} -
- {modalities.length > 0 ? ( - <> - Supported modalities: {modalities.join(', ')} - - ) : ( - '' - )} -

-
-
- ); -} - -function ChatInput({ - textarea, - extraContext, - onSend, - onStop, - isGenerating, -}: { - textarea: ChatTextareaApi; - extraContext: ChatExtraContextApi; - onSend: () => void; - onStop: () => void; - isGenerating: boolean; -}) { - const { config } = useAppContext(); - const [isDrag, setIsDrag] = useState(false); - - return ( -
- { - setIsDrag(false); - extraContext.onFileAdded(files); - }} - onDragEnter={() => setIsDrag(true)} - onDragLeave={() => setIsDrag(false)} - multiple={true} - > - {({ getRootProps, getInputProps }) => ( -
) => { - const text = e.clipboardData.getData('text/plain'); - if ( - text.length > 0 && - config.pasteLongTextToFileLen > 0 && - text.length > config.pasteLongTextToFileLen - ) { - // if the text is too long, we will convert it to a file - extraContext.addItems([ - { - type: 'context', - name: 'Pasted Content', - content: text, - }, - ]); - e.preventDefault(); - return; - } - - // if a file is pasted, we will handle it here - const files = Array.from(e.clipboardData.items) - .filter((item) => item.kind === 'file') - .map((item) => item.getAsFile()) - .filter((file) => file !== null); - - if (files.length > 0) { - e.preventDefault(); - extraContext.onFileAdded(files); - } - }} - {...getRootProps()} - > - {!isGenerating && ( - - )} - -
- - - {/* buttons area */} -
- - - {isGenerating ? ( - - ) : ( - - )} -
-
-
- )} -
-
- ); -} diff --git a/tools/server/webui/src/components/Header.tsx b/tools/server/webui/src/components/Header.tsx deleted file mode 100644 index ccddc21dda..0000000000 --- a/tools/server/webui/src/components/Header.tsx +++ /dev/null @@ -1,92 +0,0 @@ -import { useEffect, useState } from 'react'; -import StorageUtils from '../utils/storage'; -import { useAppContext } from '../utils/app.context'; -import { classNames } from '../utils/misc'; -import daisyuiThemes from 'daisyui/theme/object'; -import { THEMES } from '../Config'; -import { - Cog8ToothIcon, - MoonIcon, - Bars3Icon, -} from '@heroicons/react/24/outline'; - -export default function Header() { - const [selectedTheme, setSelectedTheme] = useState(StorageUtils.getTheme()); - const { setShowSettings } = useAppContext(); - - const setTheme = (theme: string) => { - StorageUtils.setTheme(theme); - setSelectedTheme(theme); - }; - - useEffect(() => { - document.body.setAttribute('data-theme', selectedTheme); - document.body.setAttribute( - 'data-color-scheme', - daisyuiThemes[selectedTheme]?.['color-scheme'] ?? 'auto' - ); - }, [selectedTheme]); - - return ( -
- {/* open sidebar button */} - - -
llama.cpp
- - {/* action buttons (top right) */} -
-
setShowSettings(true)} - > - -
- - {/* theme controller is copied from https://daisyui.com/components/theme-controller/ */} -
-
-
- -
-
    -
  • - -
  • - {THEMES.map((theme) => ( -
  • - e.target.checked && setTheme(theme)} - /> -
  • - ))} -
-
-
-
-
- ); -} diff --git a/tools/server/webui/src/components/MarkdownDisplay.tsx b/tools/server/webui/src/components/MarkdownDisplay.tsx deleted file mode 100644 index 380dbc570a..0000000000 --- a/tools/server/webui/src/components/MarkdownDisplay.tsx +++ /dev/null @@ -1,317 +0,0 @@ -import React, { useMemo, useState } from 'react'; -import Markdown, { ExtraProps } from 'react-markdown'; -import remarkGfm from 'remark-gfm'; -import rehypeHightlight from 'rehype-highlight'; -import rehypeKatex from 'rehype-katex'; -import remarkMath from 'remark-math'; -import remarkBreaks from 'remark-breaks'; -import 'katex/dist/katex.min.css'; -import { classNames, copyStr } from '../utils/misc'; -import { ElementContent, Root } from 'hast'; -import { visit } from 'unist-util-visit'; -import { useAppContext } from '../utils/app.context'; -import { CanvasType } from '../utils/types'; -import { BtnWithTooltips } from '../utils/common'; -import { DocumentDuplicateIcon, PlayIcon } from '@heroicons/react/24/outline'; - -export default function MarkdownDisplay({ - content, - isGenerating, -}: { - content: string; - isGenerating?: boolean; -}) { - const preprocessedContent = useMemo( - () => preprocessLaTeX(content), - [content] - ); - return ( - ( - - ), - // note: do not use "pre", "p" or other basic html elements here, it will cause the node to re-render when the message is being generated (this should be a bug with react-markdown, not sure how to fix it) - }} - > - {preprocessedContent} - - ); -} - -const CodeBlockButtons: React.ElementType< - React.ClassAttributes & - React.HTMLAttributes & - ExtraProps & { origContent: string; isGenerating?: boolean } -> = ({ node, origContent, isGenerating }) => { - const { config } = useAppContext(); - const startOffset = node?.position?.start.offset ?? 0; - const endOffset = node?.position?.end.offset ?? 0; - - const copiedContent = useMemo( - () => - origContent - .substring(startOffset, endOffset) - .replace(/^```[^\n]+\n/g, '') - .replace(/```$/g, ''), - [origContent, startOffset, endOffset] - ); - - const codeLanguage = useMemo( - () => - origContent - .substring(startOffset, startOffset + 10) - .match(/^```([^\n]+)\n/)?.[1] ?? '', - [origContent, startOffset] - ); - - const canRunCode = - !isGenerating && - config.pyIntepreterEnabled && - codeLanguage.startsWith('py'); - - return ( -
- - {canRunCode && ( - - )} -
- ); -}; - -export const CopyButton = ({ - content, - className, -}: { - content: string; - className?: string; -}) => { - const [copied, setCopied] = useState(false); - return ( - { - copyStr(content); - setCopied(true); - }} - onMouseLeave={() => setCopied(false)} - tooltipsContent={copied ? 'Copied!' : 'Copy'} - > - - - ); -}; - -export const RunPyCodeButton = ({ - content, - className, -}: { - content: string; - className?: string; -}) => { - const { setCanvasData } = useAppContext(); - return ( - <> - - setCanvasData({ - type: CanvasType.PY_INTERPRETER, - content, - }) - } - tooltipsContent="Run code" - > - - - - ); -}; - -/** - * This injects the "button" element before each "pre" element. - * The actual button will be replaced with a react component in the MarkdownDisplay. - * We don't replace "pre" node directly because it will cause the node to re-render, which causes this bug: https://github.com/ggerganov/llama.cpp/issues/9608 - */ -function rehypeCustomCopyButton() { - return function (tree: Root) { - visit(tree, 'element', function (node) { - if (node.tagName === 'pre' && !node.properties.visited) { - const preNode = { ...node }; - // replace current node - preNode.properties.visited = 'true'; - node.tagName = 'div'; - node.properties = {}; - // add node for button - const btnNode: ElementContent = { - type: 'element', - tagName: 'button', - properties: {}, - children: [], - position: node.position, - }; - node.children = [btnNode, preNode]; - } - }); - }; -} - -/** - * The part below is copied and adapted from: - * https://github.com/danny-avila/LibreChat/blob/main/client/src/utils/latex.ts - * (MIT License) - */ - -// Regex to check if the processed content contains any potential LaTeX patterns -const containsLatexRegex = - /\\\(.*?\\\)|\\\[.*?\\\]|\$.*?\$|\\begin\{equation\}.*?\\end\{equation\}/; - -// Regex for inline and block LaTeX expressions -const inlineLatex = new RegExp(/\\\((.+?)\\\)/, 'g'); -const blockLatex = new RegExp(/\\\[(.*?[^\\])\\\]/, 'gs'); - -// Function to restore code blocks -const restoreCodeBlocks = (content: string, codeBlocks: string[]) => { - return content.replace( - /<>/g, - (_, index) => codeBlocks[index] - ); -}; - -// Regex to identify code blocks and inline code -const codeBlockRegex = /(```[\s\S]*?```|`.*?`)/g; - -export const processLaTeX = (_content: string) => { - let content = _content; - // Temporarily replace code blocks and inline code with placeholders - const codeBlocks: string[] = []; - let index = 0; - content = content.replace(codeBlockRegex, (match) => { - codeBlocks[index] = match; - return `<>`; - }); - - // Escape dollar signs followed by a digit or space and digit - let processedContent = content.replace(/(\$)(?=\s?\d)/g, '\\$'); - - // If no LaTeX patterns are found, restore code blocks and return the processed content - if (!containsLatexRegex.test(processedContent)) { - return restoreCodeBlocks(processedContent, codeBlocks); - } - - // Convert LaTeX expressions to a markdown compatible format - processedContent = processedContent - .replace(inlineLatex, (_: string, equation: string) => `$${equation}$`) // Convert inline LaTeX - .replace(blockLatex, (_: string, equation: string) => `$$${equation}$$`); // Convert block LaTeX - - // Restore code blocks - return restoreCodeBlocks(processedContent, codeBlocks); -}; - -/** - * Preprocesses LaTeX content by replacing delimiters and escaping certain characters. - * - * @param content The input string containing LaTeX expressions. - * @returns The processed string with replaced delimiters and escaped characters. - */ -export function preprocessLaTeX(content: string): string { - // Step 1: Protect code blocks - const codeBlocks: string[] = []; - content = content.replace(/(```[\s\S]*?```|`[^`\n]+`)/g, (_, code) => { - codeBlocks.push(code); - return `<>`; - }); - - // Step 2: Protect existing LaTeX expressions - const latexExpressions: string[] = []; - - // Protect block math ($$...$$), \[...\], and \(...\) as before. - content = content.replace( - /(\$\$[\s\S]*?\$\$|\\\[[\s\S]*?\\\]|\\\(.*?\\\))/g, - (match) => { - latexExpressions.push(match); - return `<>`; - } - ); - - // Protect inline math ($...$) only if it does NOT match a currency pattern. - // We assume a currency pattern is one where the inner content is purely numeric (with optional decimals). - content = content.replace(/\$([^$]+)\$/g, (match, inner) => { - if (/^\s*\d+(?:\.\d+)?\s*$/.test(inner)) { - // This looks like a currency value (e.g. "$123" or "$12.34"), - // so don't protect it. - return match; - } else { - // Otherwise, treat it as a LaTeX expression. - latexExpressions.push(match); - return `<>`; - } - }); - - // Step 3: Escape dollar signs that are likely currency indicators. - // (Now that inline math is protected, this will only escape dollars not already protected) - content = content.replace(/\$(?=\d)/g, '\\$'); - - // Step 4: Restore LaTeX expressions - content = content.replace( - /<>/g, - (_, index) => latexExpressions[parseInt(index)] - ); - - // Step 5: Restore code blocks - content = content.replace( - /<>/g, - (_, index) => codeBlocks[parseInt(index)] - ); - - // Step 6: Apply additional escaping functions - content = escapeBrackets(content); - content = escapeMhchem(content); - - return content; -} - -export function escapeBrackets(text: string): string { - const pattern = - /(```[\S\s]*?```|`.*?`)|\\\[([\S\s]*?[^\\])\\]|\\\((.*?)\\\)/g; - return text.replace( - pattern, - ( - match: string, - codeBlock: string | undefined, - squareBracket: string | undefined, - roundBracket: string | undefined - ): string => { - if (codeBlock != null) { - return codeBlock; - } else if (squareBracket != null) { - return `$$${squareBracket}$$`; - } else if (roundBracket != null) { - return `$${roundBracket}$`; - } - return match; - } - ); -} - -export function escapeMhchem(text: string) { - return text.replaceAll('$\\ce{', '$\\\\ce{').replaceAll('$\\pu{', '$\\\\pu{'); -} diff --git a/tools/server/webui/src/components/ModalProvider.tsx b/tools/server/webui/src/components/ModalProvider.tsx deleted file mode 100644 index f2ebf8e0a7..0000000000 --- a/tools/server/webui/src/components/ModalProvider.tsx +++ /dev/null @@ -1,151 +0,0 @@ -import React, { createContext, useState, useContext } from 'react'; - -type ModalContextType = { - showConfirm: (message: string) => Promise; - showPrompt: ( - message: string, - defaultValue?: string - ) => Promise; - showAlert: (message: string) => Promise; -}; -const ModalContext = createContext(null!); - -interface ModalState { - isOpen: boolean; - message: string; - defaultValue?: string; - resolve: ((value: T) => void) | null; -} - -export function ModalProvider({ children }: { children: React.ReactNode }) { - const [confirmState, setConfirmState] = useState>({ - isOpen: false, - message: '', - resolve: null, - }); - const [promptState, setPromptState] = useState< - ModalState - >({ isOpen: false, message: '', resolve: null }); - const [alertState, setAlertState] = useState>({ - isOpen: false, - message: '', - resolve: null, - }); - const inputRef = React.useRef(null); - - const showConfirm = (message: string): Promise => { - return new Promise((resolve) => { - setConfirmState({ isOpen: true, message, resolve }); - }); - }; - - const showPrompt = ( - message: string, - defaultValue?: string - ): Promise => { - return new Promise((resolve) => { - setPromptState({ isOpen: true, message, defaultValue, resolve }); - }); - }; - - const showAlert = (message: string): Promise => { - return new Promise((resolve) => { - setAlertState({ isOpen: true, message, resolve }); - }); - }; - - const handleConfirm = (result: boolean) => { - confirmState.resolve?.(result); - setConfirmState({ isOpen: false, message: '', resolve: null }); - }; - - const handlePrompt = (result?: string) => { - promptState.resolve?.(result); - setPromptState({ isOpen: false, message: '', resolve: null }); - }; - - const handleAlertClose = () => { - alertState.resolve?.(); - setAlertState({ isOpen: false, message: '', resolve: null }); - }; - - return ( - - {children} - - {/* Confirm Modal */} - {confirmState.isOpen && ( - -
-

{confirmState.message}

-
- - -
-
-
- )} - - {/* Prompt Modal */} - {promptState.isOpen && ( - -
-

{promptState.message}

- { - if (e.key === 'Enter') { - handlePrompt((e.target as HTMLInputElement).value); - } - }} - /> -
- - -
-
-
- )} - - {/* Alert Modal */} - {alertState.isOpen && ( - -
-

{alertState.message}

-
- -
-
-
- )} -
- ); -} - -export function useModals() { - const context = useContext(ModalContext); - if (!context) throw new Error('useModals must be used within ModalProvider'); - return context; -} diff --git a/tools/server/webui/src/components/SettingDialog.tsx b/tools/server/webui/src/components/SettingDialog.tsx deleted file mode 100644 index 45a8d73b00..0000000000 --- a/tools/server/webui/src/components/SettingDialog.tsx +++ /dev/null @@ -1,553 +0,0 @@ -import { useState } from 'react'; -import { useAppContext } from '../utils/app.context'; -import { CONFIG_DEFAULT, CONFIG_INFO } from '../Config'; -import { isDev } from '../Config'; -import StorageUtils from '../utils/storage'; -import { classNames, isBoolean, isNumeric, isString } from '../utils/misc'; -import { - BeakerIcon, - ChatBubbleOvalLeftEllipsisIcon, - Cog6ToothIcon, - FunnelIcon, - HandRaisedIcon, - SquaresPlusIcon, -} from '@heroicons/react/24/outline'; -import { OpenInNewTab } from '../utils/common'; -import { useModals } from './ModalProvider'; - -type SettKey = keyof typeof CONFIG_DEFAULT; - -const BASIC_KEYS: SettKey[] = [ - 'temperature', - 'top_k', - 'top_p', - 'min_p', - 'max_tokens', -]; -const SAMPLER_KEYS: SettKey[] = [ - 'dynatemp_range', - 'dynatemp_exponent', - 'typical_p', - 'xtc_probability', - 'xtc_threshold', -]; -const PENALTY_KEYS: SettKey[] = [ - 'repeat_last_n', - 'repeat_penalty', - 'presence_penalty', - 'frequency_penalty', - 'dry_multiplier', - 'dry_base', - 'dry_allowed_length', - 'dry_penalty_last_n', -]; - -enum SettingInputType { - SHORT_INPUT, - LONG_INPUT, - CHECKBOX, - CUSTOM, -} - -interface SettingFieldInput { - type: Exclude; - label: string | React.ReactElement; - help?: string | React.ReactElement; - key: SettKey; -} - -interface SettingFieldCustom { - type: SettingInputType.CUSTOM; - key: SettKey; - component: - | string - | React.FC<{ - value: string | boolean | number; - onChange: (value: string) => void; - }>; -} - -interface SettingSection { - title: React.ReactElement; - fields: (SettingFieldInput | SettingFieldCustom)[]; -} - -const ICON_CLASSNAME = 'w-4 h-4 mr-1 inline'; - -const SETTING_SECTIONS: SettingSection[] = [ - { - title: ( - <> - - General - - ), - fields: [ - { - type: SettingInputType.SHORT_INPUT, - label: 'API Key', - key: 'apiKey', - }, - { - type: SettingInputType.LONG_INPUT, - label: 'System Message (will be disabled if left empty)', - key: 'systemMessage', - }, - ...BASIC_KEYS.map( - (key) => - ({ - type: SettingInputType.SHORT_INPUT, - label: key, - key, - }) as SettingFieldInput - ), - { - type: SettingInputType.SHORT_INPUT, - label: 'Paste length to file', - key: 'pasteLongTextToFileLen', - }, - { - type: SettingInputType.CHECKBOX, - label: 'Parse PDF as image instead of text', - key: 'pdfAsImage', - }, - ], - }, - { - title: ( - <> - - Samplers - - ), - fields: [ - { - type: SettingInputType.SHORT_INPUT, - label: 'Samplers queue', - key: 'samplers', - }, - ...SAMPLER_KEYS.map( - (key) => - ({ - type: SettingInputType.SHORT_INPUT, - label: key, - key, - }) as SettingFieldInput - ), - ], - }, - { - title: ( - <> - - Penalties - - ), - fields: PENALTY_KEYS.map((key) => ({ - type: SettingInputType.SHORT_INPUT, - label: key, - key, - })), - }, - { - title: ( - <> - - Reasoning - - ), - fields: [ - { - type: SettingInputType.CHECKBOX, - label: 'Expand thought process by default when generating messages', - key: 'showThoughtInProgress', - }, - { - type: SettingInputType.CHECKBOX, - label: - 'Exclude thought process when sending requests to API (Recommended for DeepSeek-R1)', - key: 'excludeThoughtOnReq', - }, - ], - }, - { - title: ( - <> - - Advanced - - ), - fields: [ - { - type: SettingInputType.CUSTOM, - key: 'custom', // dummy key, won't be used - component: () => { - const debugImportDemoConv = async () => { - const res = await fetch('/demo-conversation.json'); - const demoConv = await res.json(); - StorageUtils.remove(demoConv.id); - for (const msg of demoConv.messages) { - StorageUtils.appendMsg(demoConv.id, msg); - } - }; - return ( - - ); - }, - }, - { - type: SettingInputType.CHECKBOX, - label: 'Show tokens per second', - key: 'showTokensPerSecond', - }, - { - type: SettingInputType.LONG_INPUT, - label: ( - <> - Custom JSON config (For more info, refer to{' '} - - server documentation - - ) - - ), - key: 'custom', - }, - ], - }, - { - title: ( - <> - - Experimental - - ), - fields: [ - { - type: SettingInputType.CUSTOM, - key: 'custom', // dummy key, won't be used - component: () => ( - <> -

- Experimental features are not guaranteed to work correctly. -
-
- If you encounter any problems, create a{' '} - - Bug (misc.) - {' '} - report on Github. Please also specify webui/experimental on - the report title and include screenshots. -
-
- Some features may require packages downloaded from CDN, so they - need internet connection. -

- - ), - }, - { - type: SettingInputType.CHECKBOX, - label: ( - <> - Enable Python interpreter -
- - This feature uses{' '} - pyodide, - downloaded from CDN. To use this feature, ask the LLM to generate - Python code inside a Markdown code block. You will see a "Run" - button on the code block, near the "Copy" button. - - - ), - key: 'pyIntepreterEnabled', - }, - ], - }, -]; - -export default function SettingDialog({ - show, - onClose, -}: { - show: boolean; - onClose: () => void; -}) { - const { config, saveConfig } = useAppContext(); - const [sectionIdx, setSectionIdx] = useState(0); - - // clone the config object to prevent direct mutation - const [localConfig, setLocalConfig] = useState( - JSON.parse(JSON.stringify(config)) - ); - const { showConfirm, showAlert } = useModals(); - - const resetConfig = async () => { - if (await showConfirm('Are you sure you want to reset all settings?')) { - setLocalConfig(CONFIG_DEFAULT); - } - }; - - const handleSave = async () => { - // copy the local config to prevent direct mutation - const newConfig: typeof CONFIG_DEFAULT = JSON.parse( - JSON.stringify(localConfig) - ); - // validate the config - for (const key in newConfig) { - const value = newConfig[key as SettKey]; - const mustBeBoolean = isBoolean(CONFIG_DEFAULT[key as SettKey]); - const mustBeString = isString(CONFIG_DEFAULT[key as SettKey]); - const mustBeNumeric = isNumeric(CONFIG_DEFAULT[key as SettKey]); - if (mustBeString) { - if (!isString(value)) { - await showAlert(`Value for ${key} must be string`); - return; - } - } else if (mustBeNumeric) { - const trimmedValue = value.toString().trim(); - const numVal = Number(trimmedValue); - if (isNaN(numVal) || !isNumeric(numVal) || trimmedValue.length === 0) { - await showAlert(`Value for ${key} must be numeric`); - return; - } - // force conversion to number - // @ts-expect-error this is safe - newConfig[key] = numVal; - } else if (mustBeBoolean) { - if (!isBoolean(value)) { - await showAlert(`Value for ${key} must be boolean`); - return; - } - } else { - console.error(`Unknown default type for key ${key}`); - } - } - if (isDev) console.log('Saving config', newConfig); - saveConfig(newConfig); - onClose(); - }; - - const onChange = (key: SettKey) => (value: string | boolean) => { - // note: we do not perform validation here, because we may get incomplete value as user is still typing it - setLocalConfig({ ...localConfig, [key]: value }); - }; - - return ( - -
-

Settings

-
- {/* Left panel, showing sections - Desktop version */} -
- {SETTING_SECTIONS.map((section, idx) => ( - - ))} -
- - {/* Left panel, showing sections - Mobile version */} - {/* This menu is skipped on a11y, otherwise it's repeated the desktop version */} -
-
- - {SETTING_SECTIONS[sectionIdx].title} - -
    - {SETTING_SECTIONS.map((section, idx) => ( -
    setSectionIdx(idx)} - dir="auto" - > - {section.title} -
    - ))} -
-
-
- - {/* Right panel, showing setting fields */} -
- {SETTING_SECTIONS[sectionIdx].fields.map((field, idx) => { - const key = `${sectionIdx}-${idx}`; - if (field.type === SettingInputType.SHORT_INPUT) { - return ( - - ); - } else if (field.type === SettingInputType.LONG_INPUT) { - return ( - - ); - } else if (field.type === SettingInputType.CHECKBOX) { - return ( - - ); - } else if (field.type === SettingInputType.CUSTOM) { - return ( -
- {typeof field.component === 'string' - ? field.component - : field.component({ - value: localConfig[field.key], - onChange: onChange(field.key), - })} -
- ); - } - })} - -

- Settings are saved in browser's localStorage -

-
-
- -
- - - -
-
-
- ); -} - -function SettingsModalLongInput({ - configKey, - value, - onChange, - label, -}: { - configKey: SettKey; - value: string; - onChange: (value: string) => void; - label?: string; -}) { - return ( -
+
+ +
+ + +
+ + {#each currentSection.fields as field (field.key)} +
+ {#if field.type === 'input'} + + + (localConfig[field.key] = e.currentTarget.value)} + placeholder={`Default: ${SETTING_CONFIG_DEFAULT[field.key] || 'none'}`} + class="max-w-md" + /> + {#if field.help || SETTING_CONFIG_INFO[field.key]} +

+ {field.help || SETTING_CONFIG_INFO[field.key]} +

+ {/if} + {:else if field.type === 'textarea'} + + + diff --git a/tools/server/webui/src/lib/components/ui/tooltip/index.ts b/tools/server/webui/src/lib/components/ui/tooltip/index.ts new file mode 100644 index 0000000000..273d831e6e --- /dev/null +++ b/tools/server/webui/src/lib/components/ui/tooltip/index.ts @@ -0,0 +1,21 @@ +import { Tooltip as TooltipPrimitive } from 'bits-ui'; +import Trigger from './tooltip-trigger.svelte'; +import Content from './tooltip-content.svelte'; + +const Root = TooltipPrimitive.Root; +const Provider = TooltipPrimitive.Provider; +const Portal = TooltipPrimitive.Portal; + +export { + Root, + Trigger, + Content, + Provider, + Portal, + // + Root as Tooltip, + Content as TooltipContent, + Trigger as TooltipTrigger, + Provider as TooltipProvider, + Portal as TooltipPortal +}; diff --git a/tools/server/webui/src/lib/components/ui/tooltip/tooltip-content.svelte b/tools/server/webui/src/lib/components/ui/tooltip/tooltip-content.svelte new file mode 100644 index 0000000000..72ea93a010 --- /dev/null +++ b/tools/server/webui/src/lib/components/ui/tooltip/tooltip-content.svelte @@ -0,0 +1,47 @@ + + + + + {@render children?.()} + + {#snippet child({ props })} +
+ {/snippet} +
+
+
diff --git a/tools/server/webui/src/lib/components/ui/tooltip/tooltip-trigger.svelte b/tools/server/webui/src/lib/components/ui/tooltip/tooltip-trigger.svelte new file mode 100644 index 0000000000..5631d1b4c1 --- /dev/null +++ b/tools/server/webui/src/lib/components/ui/tooltip/tooltip-trigger.svelte @@ -0,0 +1,7 @@ + + + diff --git a/tools/server/webui/src/lib/components/ui/utils.ts b/tools/server/webui/src/lib/components/ui/utils.ts new file mode 100644 index 0000000000..f92bfcbb3f --- /dev/null +++ b/tools/server/webui/src/lib/components/ui/utils.ts @@ -0,0 +1,13 @@ +import { clsx, type ClassValue } from 'clsx'; +import { twMerge } from 'tailwind-merge'; + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)); +} + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type WithoutChild = T extends { child?: any } ? Omit : T; +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type WithoutChildren = T extends { children?: any } ? Omit : T; +export type WithoutChildrenOrChild = WithoutChildren>; +export type WithElementRef = T & { ref?: U | null }; diff --git a/tools/server/webui/src/lib/constants/auto-scroll.ts b/tools/server/webui/src/lib/constants/auto-scroll.ts new file mode 100644 index 0000000000..098f435d6c --- /dev/null +++ b/tools/server/webui/src/lib/constants/auto-scroll.ts @@ -0,0 +1,3 @@ +export const AUTO_SCROLL_INTERVAL = 100; +export const INITIAL_SCROLL_DELAY = 50; +export const AUTO_SCROLL_AT_BOTTOM_THRESHOLD = 10; diff --git a/tools/server/webui/src/lib/constants/debounce.ts b/tools/server/webui/src/lib/constants/debounce.ts new file mode 100644 index 0000000000..7394669f3a --- /dev/null +++ b/tools/server/webui/src/lib/constants/debounce.ts @@ -0,0 +1 @@ +export const SLOTS_DEBOUNCE_INTERVAL = 100; diff --git a/tools/server/webui/src/lib/constants/input-classes.ts b/tools/server/webui/src/lib/constants/input-classes.ts new file mode 100644 index 0000000000..a541cfc553 --- /dev/null +++ b/tools/server/webui/src/lib/constants/input-classes.ts @@ -0,0 +1,6 @@ +export const INPUT_CLASSES = ` + bg-muted/70 dark:bg-muted/85 + border border-border/30 focus-within:border-border dark:border-border/20 dark:focus-within:border-border + outline-none + text-foreground +`; diff --git a/tools/server/webui/src/lib/constants/max-bundle-size.ts b/tools/server/webui/src/lib/constants/max-bundle-size.ts new file mode 100644 index 0000000000..e04348febe --- /dev/null +++ b/tools/server/webui/src/lib/constants/max-bundle-size.ts @@ -0,0 +1 @@ +export const MAX_BUNDLE_SIZE = 2 * 1024 * 1024; diff --git a/tools/server/webui/src/lib/constants/processing-info.ts b/tools/server/webui/src/lib/constants/processing-info.ts new file mode 100644 index 0000000000..726439211b --- /dev/null +++ b/tools/server/webui/src/lib/constants/processing-info.ts @@ -0,0 +1 @@ +export const PROCESSING_INFO_TIMEOUT = 2000; diff --git a/tools/server/webui/src/lib/constants/settings-config.ts b/tools/server/webui/src/lib/constants/settings-config.ts new file mode 100644 index 0000000000..89eff7bdbd --- /dev/null +++ b/tools/server/webui/src/lib/constants/settings-config.ts @@ -0,0 +1,84 @@ +export const SETTING_CONFIG_DEFAULT: Record = { + // Note: in order not to introduce breaking changes, please keep the same data type (number, string, etc) if you want to change the default value. Do not use null or undefined for default value. + // Do not use nested objects, keep it single level. Prefix the key if you need to group them. + apiKey: '', + systemMessage: '', + theme: 'system', + showTokensPerSecond: false, + showThoughtInProgress: false, + keepStatsVisible: false, + askForTitleConfirmation: false, + pasteLongTextToFileLen: 2500, + pdfAsImage: false, + // make sure these default values are in sync with `common.h` + samplers: 'top_k;typ_p;top_p;min_p;temperature', + temperature: 0.8, + dynatemp_range: 0.0, + dynatemp_exponent: 1.0, + top_k: 40, + top_p: 0.95, + min_p: 0.05, + xtc_probability: 0.0, + xtc_threshold: 0.1, + typ_p: 1.0, + repeat_last_n: 64, + repeat_penalty: 1.0, + presence_penalty: 0.0, + frequency_penalty: 0.0, + dry_multiplier: 0.0, + dry_base: 1.75, + dry_allowed_length: 2, + dry_penalty_last_n: -1, + max_tokens: -1, + custom: '', // custom json-stringified object + // experimental features + pyInterpreterEnabled: false +}; + +export const SETTING_CONFIG_INFO: Record = { + apiKey: 'Set the API Key if you are using --api-key option for the server.', + systemMessage: 'The starting message that defines how model should behave.', + theme: + 'Choose the color theme for the interface. You can choose between System (follows your device settings), Light, or Dark.', + pasteLongTextToFileLen: + 'On pasting long text, it will be converted to a file. You can control the file length by setting the value of this parameter. Value 0 means disable.', + samplers: + 'The order at which samplers are applied, in simplified way. Default is "top_k;typ_p;top_p;min_p;temperature": top_k->typ_p->top_p->min_p->temperature', + temperature: + 'Controls the randomness of the generated text by affecting the probability distribution of the output tokens. Higher = more random, lower = more focused.', + dynatemp_range: + 'Addon for the temperature sampler. The added value to the range of dynamic temperature, which adjusts probabilities by entropy of tokens.', + dynatemp_exponent: + 'Addon for the temperature sampler. Smoothes out the probability redistribution based on the most probable token.', + top_k: 'Keeps only k top tokens.', + top_p: 'Limits tokens to those that together have a cumulative probability of at least p', + min_p: + 'Limits tokens based on the minimum probability for a token to be considered, relative to the probability of the most likely token.', + xtc_probability: + 'XTC sampler cuts out top tokens; this parameter controls the chance of cutting tokens at all. 0 disables XTC.', + xtc_threshold: + 'XTC sampler cuts out top tokens; this parameter controls the token probability that is required to cut that token.', + typ_p: 'Sorts and limits tokens based on the difference between log-probability and entropy.', + repeat_last_n: 'Last n tokens to consider for penalizing repetition', + repeat_penalty: 'Controls the repetition of token sequences in the generated text', + presence_penalty: 'Limits tokens based on whether they appear in the output or not.', + frequency_penalty: 'Limits tokens based on how often they appear in the output.', + dry_multiplier: + 'DRY sampling reduces repetition in generated text even across long contexts. This parameter sets the DRY sampling multiplier.', + dry_base: + 'DRY sampling reduces repetition in generated text even across long contexts. This parameter sets the DRY sampling base value.', + dry_allowed_length: + 'DRY sampling reduces repetition in generated text even across long contexts. This parameter sets the allowed length for DRY sampling.', + dry_penalty_last_n: + 'DRY sampling reduces repetition in generated text even across long contexts. This parameter sets DRY penalty for the last n tokens.', + max_tokens: 'The maximum number of token per output. Use -1 for infinite (no limit).', + custom: 'Custom JSON parameters to send to the API. Must be valid JSON format.', + showTokensPerSecond: 'Display generation speed in tokens per second during streaming.', + showThoughtInProgress: 'Expand thought process by default when generating messages.', + keepStatsVisible: 'Keep processing statistics visible after generation finishes.', + askForTitleConfirmation: + '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).', + pyInterpreterEnabled: + 'Enable Python interpreter using Pyodide. Allows running Python code in markdown code blocks.' +}; diff --git a/tools/server/webui/src/lib/constants/supported-file-types.ts b/tools/server/webui/src/lib/constants/supported-file-types.ts new file mode 100644 index 0000000000..f53b55c476 --- /dev/null +++ b/tools/server/webui/src/lib/constants/supported-file-types.ts @@ -0,0 +1,180 @@ +/** + * Comprehensive dictionary of all supported file types in webui + * Organized by category with TypeScript enums for better type safety + */ + +import { + FileExtensionAudio, + FileExtensionImage, + FileExtensionPdf, + FileExtensionText, + FileTypeAudio, + FileTypeImage, + FileTypePdf, + FileTypeText, + MimeTypeAudio, + MimeTypeImage, + MimeTypeApplication, + MimeTypeText +} from '$lib/enums/files'; + +// File type configuration using enums +export const AUDIO_FILE_TYPES = { + [FileTypeAudio.MP3]: { + extensions: [FileExtensionAudio.MP3], + mimeTypes: [MimeTypeAudio.MP3_MPEG, MimeTypeAudio.MP3] + }, + [FileTypeAudio.WAV]: { + extensions: [FileExtensionAudio.WAV], + mimeTypes: [MimeTypeAudio.WAV] + } +} as const; + +export const IMAGE_FILE_TYPES = { + [FileTypeImage.JPEG]: { + extensions: [FileExtensionImage.JPG, FileExtensionImage.JPEG], + mimeTypes: [MimeTypeImage.JPEG] + }, + [FileTypeImage.PNG]: { + extensions: [FileExtensionImage.PNG], + mimeTypes: [MimeTypeImage.PNG] + }, + [FileTypeImage.GIF]: { + extensions: [FileExtensionImage.GIF], + mimeTypes: [MimeTypeImage.GIF] + }, + [FileTypeImage.WEBP]: { + extensions: [FileExtensionImage.WEBP], + mimeTypes: [MimeTypeImage.WEBP] + }, + [FileTypeImage.SVG]: { + extensions: [FileExtensionImage.SVG], + mimeTypes: [MimeTypeImage.SVG] + } +} as const; + +export const PDF_FILE_TYPES = { + [FileTypePdf.PDF]: { + extensions: [FileExtensionPdf.PDF], + mimeTypes: [MimeTypeApplication.PDF] + } +} as const; + +export const TEXT_FILE_TYPES = { + [FileTypeText.PLAIN_TEXT]: { + extensions: [FileExtensionText.TXT], + mimeTypes: [MimeTypeText.PLAIN] + }, + [FileTypeText.MARKDOWN]: { + extensions: [FileExtensionText.MD], + mimeTypes: [MimeTypeText.MARKDOWN] + }, + [FileTypeText.JAVASCRIPT]: { + extensions: [FileExtensionText.JS], + mimeTypes: [MimeTypeText.JAVASCRIPT, MimeTypeText.JAVASCRIPT_APP] + }, + [FileTypeText.TYPESCRIPT]: { + extensions: [FileExtensionText.TS], + mimeTypes: [MimeTypeText.TYPESCRIPT] + }, + [FileTypeText.JSX]: { + extensions: [FileExtensionText.JSX], + mimeTypes: [MimeTypeText.JSX] + }, + [FileTypeText.TSX]: { + extensions: [FileExtensionText.TSX], + mimeTypes: [MimeTypeText.TSX] + }, + [FileTypeText.CSS]: { + extensions: [FileExtensionText.CSS], + mimeTypes: [MimeTypeText.CSS] + }, + [FileTypeText.HTML]: { + extensions: [FileExtensionText.HTML, FileExtensionText.HTM], + mimeTypes: [MimeTypeText.HTML] + }, + [FileTypeText.JSON]: { + extensions: [FileExtensionText.JSON], + mimeTypes: [MimeTypeText.JSON] + }, + [FileTypeText.XML]: { + extensions: [FileExtensionText.XML], + mimeTypes: [MimeTypeText.XML_TEXT, MimeTypeText.XML_APP] + }, + [FileTypeText.YAML]: { + extensions: [FileExtensionText.YAML, FileExtensionText.YML], + mimeTypes: [MimeTypeText.YAML_TEXT, MimeTypeText.YAML_APP] + }, + [FileTypeText.CSV]: { + extensions: [FileExtensionText.CSV], + mimeTypes: [MimeTypeText.CSV] + }, + [FileTypeText.LOG]: { + extensions: [FileExtensionText.LOG], + mimeTypes: [MimeTypeText.PLAIN] + }, + [FileTypeText.PYTHON]: { + extensions: [FileExtensionText.PY], + mimeTypes: [MimeTypeText.PYTHON] + }, + [FileTypeText.JAVA]: { + extensions: [FileExtensionText.JAVA], + mimeTypes: [MimeTypeText.JAVA] + }, + [FileTypeText.CPP]: { + extensions: [FileExtensionText.CPP, FileExtensionText.C, FileExtensionText.H], + mimeTypes: [MimeTypeText.CPP_SRC, MimeTypeText.C_SRC, MimeTypeText.C_HDR] + }, + [FileTypeText.PHP]: { + extensions: [FileExtensionText.PHP], + mimeTypes: [MimeTypeText.PHP] + }, + [FileTypeText.RUBY]: { + extensions: [FileExtensionText.RB], + mimeTypes: [MimeTypeText.RUBY] + }, + [FileTypeText.GO]: { + extensions: [FileExtensionText.GO], + mimeTypes: [MimeTypeText.GO] + }, + [FileTypeText.RUST]: { + extensions: [FileExtensionText.RS], + mimeTypes: [MimeTypeText.RUST] + }, + [FileTypeText.SHELL]: { + extensions: [FileExtensionText.SH, FileExtensionText.BAT], + mimeTypes: [MimeTypeText.SHELL, MimeTypeText.BAT] + }, + [FileTypeText.SQL]: { + extensions: [FileExtensionText.SQL], + mimeTypes: [MimeTypeText.SQL] + }, + [FileTypeText.R]: { + extensions: [FileExtensionText.R], + mimeTypes: [MimeTypeText.R] + }, + [FileTypeText.SCALA]: { + extensions: [FileExtensionText.SCALA], + mimeTypes: [MimeTypeText.SCALA] + }, + [FileTypeText.KOTLIN]: { + extensions: [FileExtensionText.KT], + mimeTypes: [MimeTypeText.KOTLIN] + }, + [FileTypeText.SWIFT]: { + extensions: [FileExtensionText.SWIFT], + mimeTypes: [MimeTypeText.SWIFT] + }, + [FileTypeText.DART]: { + extensions: [FileExtensionText.DART], + mimeTypes: [MimeTypeText.DART] + }, + [FileTypeText.VUE]: { + extensions: [FileExtensionText.VUE], + mimeTypes: [MimeTypeText.VUE] + }, + [FileTypeText.SVELTE]: { + extensions: [FileExtensionText.SVELTE], + mimeTypes: [MimeTypeText.SVELTE] + } +} as const; diff --git a/tools/server/webui/src/lib/constants/tooltip-config.ts b/tools/server/webui/src/lib/constants/tooltip-config.ts new file mode 100644 index 0000000000..3c30c8c072 --- /dev/null +++ b/tools/server/webui/src/lib/constants/tooltip-config.ts @@ -0,0 +1 @@ +export const TOOLTIP_DELAY_DURATION = 100; diff --git a/tools/server/webui/src/lib/constants/viewport.ts b/tools/server/webui/src/lib/constants/viewport.ts new file mode 100644 index 0000000000..26e202cfea --- /dev/null +++ b/tools/server/webui/src/lib/constants/viewport.ts @@ -0,0 +1 @@ +export const DEFAULT_MOBILE_BREAKPOINT = 768; diff --git a/tools/server/webui/src/lib/enums/files.ts b/tools/server/webui/src/lib/enums/files.ts new file mode 100644 index 0000000000..5aec9e7e9f --- /dev/null +++ b/tools/server/webui/src/lib/enums/files.ts @@ -0,0 +1,178 @@ +/** + * Comprehensive dictionary of all supported file types in webui + * Organized by category with TypeScript enums for better type safety + */ + +// File type category enum +export enum FileTypeCategory { + IMAGE = 'image', + AUDIO = 'audio', + PDF = 'pdf', + TEXT = 'text' +} + +// Specific file type enums for each category +export enum FileTypeImage { + JPEG = 'jpeg', + PNG = 'png', + GIF = 'gif', + WEBP = 'webp', + SVG = 'svg' +} + +export enum FileTypeAudio { + MP3 = 'mp3', + WAV = 'wav', + WEBM = 'webm' +} + +export enum FileTypePdf { + PDF = 'pdf' +} + +export enum FileTypeText { + PLAIN_TEXT = 'plainText', + MARKDOWN = 'markdown', + JAVASCRIPT = 'javascript', + TYPESCRIPT = 'typescript', + JSX = 'jsx', + TSX = 'tsx', + CSS = 'css', + HTML = 'html', + JSON = 'json', + XML = 'xml', + YAML = 'yaml', + CSV = 'csv', + LOG = 'log', + PYTHON = 'python', + JAVA = 'java', + CPP = 'cpp', + PHP = 'php', + RUBY = 'ruby', + GO = 'go', + RUST = 'rust', + SHELL = 'shell', + SQL = 'sql', + R = 'r', + SCALA = 'scala', + KOTLIN = 'kotlin', + SWIFT = 'swift', + DART = 'dart', + VUE = 'vue', + SVELTE = 'svelte' +} + +// File extension enums +export enum FileExtensionImage { + JPG = '.jpg', + JPEG = '.jpeg', + PNG = '.png', + GIF = '.gif', + WEBP = '.webp', + SVG = '.svg' +} + +export enum FileExtensionAudio { + MP3 = '.mp3', + WAV = '.wav' +} + +export enum FileExtensionPdf { + PDF = '.pdf' +} + +export enum FileExtensionText { + TXT = '.txt', + MD = '.md', + JS = '.js', + TS = '.ts', + JSX = '.jsx', + TSX = '.tsx', + CSS = '.css', + HTML = '.html', + HTM = '.htm', + JSON = '.json', + XML = '.xml', + YAML = '.yaml', + YML = '.yml', + CSV = '.csv', + LOG = '.log', + PY = '.py', + JAVA = '.java', + CPP = '.cpp', + C = '.c', + H = '.h', + PHP = '.php', + RB = '.rb', + GO = '.go', + RS = '.rs', + SH = '.sh', + BAT = '.bat', + SQL = '.sql', + R = '.r', + SCALA = '.scala', + KT = '.kt', + SWIFT = '.swift', + DART = '.dart', + VUE = '.vue', + SVELTE = '.svelte' +} + +// MIME type enums +export enum MimeTypeApplication { + PDF = 'application/pdf' +} + +export enum MimeTypeAudio { + MP3_MPEG = 'audio/mpeg', + MP3 = 'audio/mp3', + MP4 = 'audio/mp4', + WAV = 'audio/wav', + WEBM = 'audio/webm', + WEBM_OPUS = 'audio/webm;codecs=opus' +} + +export enum MimeTypeImage { + JPEG = 'image/jpeg', + PNG = 'image/png', + GIF = 'image/gif', + WEBP = 'image/webp', + SVG = 'image/svg+xml' +} + +export enum MimeTypeText { + PLAIN = 'text/plain', + MARKDOWN = 'text/markdown', + JAVASCRIPT = 'text/javascript', + JAVASCRIPT_APP = 'application/javascript', + TYPESCRIPT = 'text/typescript', + JSX = 'text/jsx', + TSX = 'text/tsx', + CSS = 'text/css', + HTML = 'text/html', + JSON = 'application/json', + XML_TEXT = 'text/xml', + XML_APP = 'application/xml', + YAML_TEXT = 'text/yaml', + YAML_APP = 'application/yaml', + CSV = 'text/csv', + PYTHON = 'text/x-python', + JAVA = 'text/x-java-source', + CPP_SRC = 'text/x-c++src', + C_SRC = 'text/x-csrc', + C_HDR = 'text/x-chdr', + PHP = 'text/x-php', + RUBY = 'text/x-ruby', + GO = 'text/x-go', + RUST = 'text/x-rust', + SHELL = 'text/x-shellscript', + BAT = 'application/x-bat', + SQL = 'text/x-sql', + R = 'text/x-r', + SCALA = 'text/x-scala', + KOTLIN = 'text/x-kotlin', + SWIFT = 'text/x-swift', + DART = 'text/x-dart', + VUE = 'text/x-vue', + SVELTE = 'text/x-svelte' +} diff --git a/tools/server/webui/src/lib/hooks/is-mobile.svelte.ts b/tools/server/webui/src/lib/hooks/is-mobile.svelte.ts new file mode 100644 index 0000000000..22c74f4a6f --- /dev/null +++ b/tools/server/webui/src/lib/hooks/is-mobile.svelte.ts @@ -0,0 +1,8 @@ +import { DEFAULT_MOBILE_BREAKPOINT } from '$lib/constants/viewport'; +import { MediaQuery } from 'svelte/reactivity'; + +export class IsMobile extends MediaQuery { + constructor(breakpoint: number = DEFAULT_MOBILE_BREAKPOINT) { + super(`max-width: ${breakpoint - 1}px`); + } +} diff --git a/tools/server/webui/src/lib/hooks/use-processing-state.svelte.ts b/tools/server/webui/src/lib/hooks/use-processing-state.svelte.ts new file mode 100644 index 0000000000..e8c3aa1ae8 --- /dev/null +++ b/tools/server/webui/src/lib/hooks/use-processing-state.svelte.ts @@ -0,0 +1,173 @@ +import { slotsService } from '$lib/services'; +import { config } from '$lib/stores/settings.svelte'; + +export interface UseProcessingStateReturn { + readonly processingState: ApiProcessingState | null; + getProcessingDetails(): string[]; + getProcessingMessage(): string; + shouldShowDetails(): boolean; + startMonitoring(): Promise; + stopMonitoring(): void; +} + +/** + * useProcessingState - Reactive processing state hook + * + * This hook provides reactive access to the processing state of the server. + * It subscribes to timing data updates from the slots service and provides + * formatted processing details for UI display. + * + * **Features:** + * - Real-time processing state monitoring + * - Context and output token tracking + * - Tokens per second calculation + * - Graceful degradation when slots endpoint unavailable + * - Automatic cleanup on component unmount + * + * @returns Hook interface with processing state and control methods + */ +export function useProcessingState(): UseProcessingStateReturn { + let isMonitoring = $state(false); + let processingState = $state(null); + let lastKnownState = $state(null); + let unsubscribe: (() => void) | null = null; + + async function startMonitoring(): Promise { + if (isMonitoring) return; + + isMonitoring = true; + + unsubscribe = slotsService.subscribe((state) => { + processingState = state; + if (state) { + lastKnownState = state; + } else { + lastKnownState = null; + } + }); + + try { + const currentState = await slotsService.getCurrentState(); + + if (currentState) { + processingState = currentState; + lastKnownState = currentState; + } + + if (slotsService.isStreaming()) { + slotsService.startStreaming(); + } + } catch (error) { + console.warn('Failed to start slots monitoring:', error); + // Continue without slots monitoring - graceful degradation + } + } + + function stopMonitoring(): void { + if (!isMonitoring) return; + + isMonitoring = false; + + // Only clear processing state if keepStatsVisible is disabled + // This preserves the last known state for display when stats should remain visible + const currentConfig = config(); + if (!currentConfig.keepStatsVisible) { + processingState = null; + } else if (lastKnownState) { + // Keep the last known state visible when keepStatsVisible is enabled + processingState = lastKnownState; + } + + if (unsubscribe) { + unsubscribe(); + unsubscribe = null; + } + } + + function getProcessingMessage(): string { + if (!processingState) { + return 'Processing...'; + } + + switch (processingState.status) { + case 'initializing': + return 'Initializing...'; + case 'preparing': + if (processingState.progressPercent !== undefined) { + return `Processing (${processingState.progressPercent}%)`; + } + return 'Preparing response...'; + case 'generating': + if (processingState.tokensDecoded > 0) { + return `Generating... (${processingState.tokensDecoded} tokens)`; + } + return 'Generating...'; + default: + return 'Processing...'; + } + } + + function getProcessingDetails(): string[] { + // Use current processing state or fall back to last known state + const stateToUse = processingState || lastKnownState; + if (!stateToUse) { + return []; + } + + const details: string[] = []; + const currentConfig = config(); // Get fresh config each time + + // Always show context info when we have valid data + if (stateToUse.contextUsed >= 0 && stateToUse.contextTotal > 0) { + const contextPercent = Math.round((stateToUse.contextUsed / stateToUse.contextTotal) * 100); + + details.push( + `Context: ${stateToUse.contextUsed}/${stateToUse.contextTotal} (${contextPercent}%)` + ); + } + + if (stateToUse.outputTokensUsed > 0) { + // Handle infinite max_tokens (-1) case + if (stateToUse.outputTokensMax <= 0) { + details.push(`Output: ${stateToUse.outputTokensUsed}/∞`); + } else { + const outputPercent = Math.round( + (stateToUse.outputTokensUsed / stateToUse.outputTokensMax) * 100 + ); + + details.push( + `Output: ${stateToUse.outputTokensUsed}/${stateToUse.outputTokensMax} (${outputPercent}%)` + ); + } + } + + if ( + currentConfig.showTokensPerSecond && + stateToUse.tokensPerSecond && + stateToUse.tokensPerSecond > 0 + ) { + details.push(`${stateToUse.tokensPerSecond.toFixed(1)} tokens/sec`); + } + + if (stateToUse.speculative) { + details.push('Speculative decoding enabled'); + } + + return details; + } + + function shouldShowDetails(): boolean { + return processingState !== null && processingState.status !== 'idle'; + } + + return { + get processingState() { + return processingState; + }, + getProcessingDetails, + getProcessingMessage, + shouldShowDetails, + startMonitoring, + stopMonitoring + }; +} diff --git a/tools/server/webui/src/lib/services/chat.ts b/tools/server/webui/src/lib/services/chat.ts new file mode 100644 index 0000000000..7133bbab81 --- /dev/null +++ b/tools/server/webui/src/lib/services/chat.ts @@ -0,0 +1,715 @@ +import { config } from '$lib/stores/settings.svelte'; +import { slotsService } from './slots'; +/** + * ChatService - Low-level API communication layer for llama.cpp server interactions + * + * This service handles direct communication with the llama.cpp server's chat completion API. + * It provides the network layer abstraction for AI model interactions while remaining + * stateless and focused purely on API communication. + * + * **Architecture & Relationship with ChatStore:** + * - **ChatService** (this class): Stateless API communication layer + * - Handles HTTP requests/responses with llama.cpp server + * - Manages streaming and non-streaming response parsing + * - Provides request abortion capabilities + * - Converts database messages to API format + * - Handles error translation and context detection + * + * - **ChatStore**: Stateful orchestration and UI state management + * - Uses ChatService for all AI model communication + * - Manages conversation state, message history, and UI reactivity + * - Coordinates with DatabaseStore for persistence + * - Handles complex workflows like branching and regeneration + * + * **Key Responsibilities:** + * - Message format conversion (DatabaseMessage → API format) + * - Streaming response handling with real-time callbacks + * - Reasoning content extraction and processing + * - File attachment processing (images, PDFs, audio, text) + * - Context error detection and reporting + * - Request lifecycle management (abort, cleanup) + */ +export class ChatService { + private abortController: AbortController | null = null; + + /** + * Sends a chat completion request to the llama.cpp server. + * Supports both streaming and non-streaming responses with comprehensive parameter configuration. + * Automatically converts database messages with attachments to the appropriate API format. + * + * @param messages - Array of chat messages to send to the API (supports both ApiChatMessageData and DatabaseMessage with attachments) + * @param options - Configuration options for the chat completion request. See `SettingsChatServiceOptions` type for details. + * @returns {Promise} that resolves to the complete response string (non-streaming) or void (streaming) + * @throws {Error} if the request fails or is aborted + */ + async sendMessage( + messages: ApiChatMessageData[] | (DatabaseMessage & { extra?: DatabaseMessageExtra[] })[], + options: SettingsChatServiceOptions = {} + ): Promise { + const { + stream, + onChunk, + onComplete, + onError, + // Generation parameters + temperature, + max_tokens, + // Sampling parameters + dynatemp_range, + dynatemp_exponent, + top_k, + top_p, + min_p, + xtc_probability, + xtc_threshold, + typ_p, + // Penalty parameters + repeat_last_n, + repeat_penalty, + presence_penalty, + frequency_penalty, + dry_multiplier, + dry_base, + dry_allowed_length, + dry_penalty_last_n, + // Other parameters + samplers, + custom, + timings_per_token + } = options; + + // Cancel any ongoing request and create a new abort controller + this.abort(); + this.abortController = new AbortController(); + + // Convert database messages with attachments to API format if needed + const normalizedMessages: ApiChatMessageData[] = messages + .map((msg) => { + // Check if this is a DatabaseMessage by checking for DatabaseMessage-specific fields + if ('id' in msg && 'convId' in msg && 'timestamp' in msg) { + // This is a DatabaseMessage, convert it + const dbMsg = msg as DatabaseMessage & { extra?: DatabaseMessageExtra[] }; + return ChatService.convertMessageToChatServiceData(dbMsg); + } else { + // This is already an ApiChatMessageData object + return msg as ApiChatMessageData; + } + }) + .filter((msg) => { + // Filter out empty system messages + if (msg.role === 'system') { + const content = typeof msg.content === 'string' ? msg.content : ''; + + return content.trim().length > 0; + } + + return true; + }); + + // Build base request body with system message injection + const processedMessages = this.injectSystemMessage(normalizedMessages); + + const requestBody: ApiChatCompletionRequest = { + messages: processedMessages.map((msg: ApiChatMessageData) => ({ + role: msg.role, + content: msg.content + })), + stream + }; + + requestBody.reasoning_format = 'auto'; + + if (temperature !== undefined) requestBody.temperature = temperature; + // Set max_tokens to -1 (infinite) if not provided or empty + requestBody.max_tokens = + max_tokens !== undefined && max_tokens !== null && max_tokens !== 0 ? max_tokens : -1; + + if (dynatemp_range !== undefined) requestBody.dynatemp_range = dynatemp_range; + if (dynatemp_exponent !== undefined) requestBody.dynatemp_exponent = dynatemp_exponent; + if (top_k !== undefined) requestBody.top_k = top_k; + if (top_p !== undefined) requestBody.top_p = top_p; + if (min_p !== undefined) requestBody.min_p = min_p; + if (xtc_probability !== undefined) requestBody.xtc_probability = xtc_probability; + if (xtc_threshold !== undefined) requestBody.xtc_threshold = xtc_threshold; + if (typ_p !== undefined) requestBody.typ_p = typ_p; + + if (repeat_last_n !== undefined) requestBody.repeat_last_n = repeat_last_n; + if (repeat_penalty !== undefined) requestBody.repeat_penalty = repeat_penalty; + if (presence_penalty !== undefined) requestBody.presence_penalty = presence_penalty; + if (frequency_penalty !== undefined) requestBody.frequency_penalty = frequency_penalty; + if (dry_multiplier !== undefined) requestBody.dry_multiplier = dry_multiplier; + if (dry_base !== undefined) requestBody.dry_base = dry_base; + if (dry_allowed_length !== undefined) requestBody.dry_allowed_length = dry_allowed_length; + if (dry_penalty_last_n !== undefined) requestBody.dry_penalty_last_n = dry_penalty_last_n; + + if (samplers !== undefined) { + requestBody.samplers = + typeof samplers === 'string' + ? samplers.split(';').filter((s: string) => s.trim()) + : samplers; + } + + if (timings_per_token !== undefined) requestBody.timings_per_token = timings_per_token; + + if (custom) { + try { + const customParams = typeof custom === 'string' ? JSON.parse(custom) : custom; + Object.assign(requestBody, customParams); + } catch (error) { + console.warn('Failed to parse custom parameters:', error); + } + } + + try { + const currentConfig = config(); + const apiKey = currentConfig.apiKey?.toString().trim(); + + const response = await fetch(`/v1/chat/completions`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + ...(apiKey ? { Authorization: `Bearer ${apiKey}` } : {}) + }, + body: JSON.stringify(requestBody), + signal: this.abortController.signal + }); + + if (!response.ok) { + // Use the new parseErrorResponse method to handle structured errors + const error = await this.parseErrorResponse(response); + if (onError) { + onError(error); + } + throw error; + } + + if (stream) { + return this.handleStreamResponse( + response, + onChunk, + onComplete, + onError, + options.onReasoningChunk + ); + } else { + return this.handleNonStreamResponse(response, onComplete, onError); + } + } catch (error) { + if (error instanceof Error && error.name === 'AbortError') { + console.log('Chat completion request was aborted'); + return; + } + + let userFriendlyError: Error; + + if (error instanceof Error) { + if (error.name === 'TypeError' && error.message.includes('fetch')) { + userFriendlyError = new Error( + 'Unable to connect to server - please check if the server is running' + ); + } else if (error.message.includes('ECONNREFUSED')) { + userFriendlyError = new Error('Connection refused - server may be offline'); + } else if (error.message.includes('ETIMEDOUT')) { + userFriendlyError = new Error('Request timeout - server may be overloaded'); + } else { + userFriendlyError = error; + } + } else { + userFriendlyError = new Error('Unknown error occurred while sending message'); + } + + console.error('Error in sendMessage:', error); + if (onError) { + onError(userFriendlyError); + } + throw userFriendlyError; + } + } + + /** + * Handles streaming response from the chat completion API. + * Processes server-sent events and extracts content chunks from the stream. + * + * @param response - The fetch Response object containing the streaming data + * @param onChunk - Optional callback invoked for each content chunk received + * @param onComplete - Optional callback invoked when the stream is complete with full response + * @param onError - Optional callback invoked if an error occurs during streaming + * @param onReasoningChunk - Optional callback invoked for each reasoning content chunk + * @returns {Promise} Promise that resolves when streaming is complete + * @throws {Error} if the stream cannot be read or parsed + */ + private async handleStreamResponse( + response: Response, + onChunk?: (chunk: string) => void, + onComplete?: ( + response: string, + reasoningContent?: string, + timings?: ChatMessageTimings + ) => void, + onError?: (error: Error) => void, + onReasoningChunk?: (chunk: string) => void + ): Promise { + const reader = response.body?.getReader(); + + if (!reader) { + throw new Error('No response body'); + } + + const decoder = new TextDecoder(); + let fullResponse = ''; + let fullReasoningContent = ''; + let regularContent = ''; + let insideThinkTag = false; + let hasReceivedData = false; + let lastTimings: ChatMessageTimings | undefined; + + try { + while (true) { + const { done, value } = await reader.read(); + if (done) break; + + const chunk = decoder.decode(value, { stream: true }); + const lines = chunk.split('\n'); + + for (const line of lines) { + if (line.startsWith('data: ')) { + const data = line.slice(6); + if (data === '[DONE]') { + if (!hasReceivedData && fullResponse.length === 0) { + const contextError = new Error( + 'The request exceeds the available context size. Try increasing the context size or enable context shift.' + ); + contextError.name = 'ContextError'; + onError?.(contextError); + return; + } + + onComplete?.(regularContent, fullReasoningContent || undefined, lastTimings); + + return; + } + + try { + const parsed: ApiChatCompletionStreamChunk = JSON.parse(data); + + const content = parsed.choices[0]?.delta?.content; + const reasoningContent = parsed.choices[0]?.delta?.reasoning_content; + const timings = parsed.timings; + const promptProgress = parsed.prompt_progress; + + if (timings || promptProgress) { + this.updateProcessingState(timings, promptProgress); + + // Store the latest timing data + if (timings) { + lastTimings = timings; + } + } + + if (content) { + hasReceivedData = true; + fullResponse += content; + + // Track the regular content before processing this chunk + const regularContentBefore = regularContent; + + // Process content character by character to handle think tags + insideThinkTag = this.processContentForThinkTags( + content, + insideThinkTag, + () => { + // Think content is ignored - we don't include it in API requests + }, + (regularChunk) => { + regularContent += regularChunk; + } + ); + + const newRegularContent = regularContent.slice(regularContentBefore.length); + if (newRegularContent) { + onChunk?.(newRegularContent); + } + } + + if (reasoningContent) { + hasReceivedData = true; + fullReasoningContent += reasoningContent; + onReasoningChunk?.(reasoningContent); + } + } catch (e) { + console.error('Error parsing JSON chunk:', e); + } + } + } + } + + if (!hasReceivedData && fullResponse.length === 0) { + const contextError = new Error( + 'The request exceeds the available context size. Try increasing the context size or enable context shift.' + ); + contextError.name = 'ContextError'; + onError?.(contextError); + return; + } + } catch (error) { + const err = error instanceof Error ? error : new Error('Stream error'); + + onError?.(err); + + throw err; + } finally { + reader.releaseLock(); + } + } + + /** + * Handles non-streaming response from the chat completion API. + * Parses the JSON response and extracts the generated content. + * + * @param response - The fetch Response object containing the JSON data + * @param onComplete - Optional callback invoked when response is successfully parsed + * @param onError - Optional callback invoked if an error occurs during parsing + * @returns {Promise} Promise that resolves to the generated content string + * @throws {Error} if the response cannot be parsed or is malformed + */ + private async handleNonStreamResponse( + response: Response, + onComplete?: ( + response: string, + reasoningContent?: string, + timings?: ChatMessageTimings + ) => void, + onError?: (error: Error) => void + ): Promise { + try { + const responseText = await response.text(); + + if (!responseText.trim()) { + const contextError = new Error( + 'The request exceeds the available context size. Try increasing the context size or enable context shift.' + ); + contextError.name = 'ContextError'; + onError?.(contextError); + throw contextError; + } + + const data: ApiChatCompletionResponse = JSON.parse(responseText); + const content = data.choices[0]?.message?.content || ''; + const reasoningContent = data.choices[0]?.message?.reasoning_content; + + if (reasoningContent) { + console.log('Full reasoning content:', reasoningContent); + } + + if (!content.trim()) { + const contextError = new Error( + 'The request exceeds the available context size. Try increasing the context size or enable context shift.' + ); + contextError.name = 'ContextError'; + onError?.(contextError); + throw contextError; + } + + onComplete?.(content, reasoningContent); + + return content; + } catch (error) { + if (error instanceof Error && error.name === 'ContextError') { + throw error; + } + + const err = error instanceof Error ? error : new Error('Parse error'); + + onError?.(err); + + throw err; + } + } + + /** + * Converts a database message with attachments to API chat message format. + * Processes various attachment types (images, text files, PDFs) and formats them + * as content parts suitable for the chat completion API. + * + * @param message - Database message object with optional extra attachments + * @param message.content - The text content of the message + * @param message.role - The role of the message sender (user, assistant, system) + * @param message.extra - Optional array of message attachments (images, files, etc.) + * @returns {ApiChatMessageData} object formatted for the chat completion API + * @static + */ + static convertMessageToChatServiceData( + message: DatabaseMessage & { extra?: DatabaseMessageExtra[] } + ): ApiChatMessageData { + if (!message.extra || message.extra.length === 0) { + return { + role: message.role as 'user' | 'assistant' | 'system', + content: message.content + }; + } + + const contentParts: ApiChatMessageContentPart[] = []; + + if (message.content) { + contentParts.push({ + type: 'text', + text: message.content + }); + } + + const imageFiles = message.extra.filter( + (extra: DatabaseMessageExtra): extra is DatabaseMessageExtraImageFile => + extra.type === 'imageFile' + ); + + for (const image of imageFiles) { + contentParts.push({ + type: 'image_url', + image_url: { url: image.base64Url } + }); + } + + const textFiles = message.extra.filter( + (extra: DatabaseMessageExtra): extra is DatabaseMessageExtraTextFile => + extra.type === 'textFile' + ); + + for (const textFile of textFiles) { + contentParts.push({ + type: 'text', + text: `\n\n--- File: ${textFile.name} ---\n${textFile.content}` + }); + } + + const audioFiles = message.extra.filter( + (extra: DatabaseMessageExtra): extra is DatabaseMessageExtraAudioFile => + extra.type === 'audioFile' + ); + + for (const audio of audioFiles) { + contentParts.push({ + type: 'input_audio', + input_audio: { + data: audio.base64Data, + format: audio.mimeType.includes('wav') ? 'wav' : 'mp3' + } + }); + } + + const pdfFiles = message.extra.filter( + (extra: DatabaseMessageExtra): extra is DatabaseMessageExtraPdfFile => + extra.type === 'pdfFile' + ); + + for (const pdfFile of pdfFiles) { + if (pdfFile.processedAsImages && pdfFile.images) { + for (let i = 0; i < pdfFile.images.length; i++) { + contentParts.push({ + type: 'image_url', + image_url: { url: pdfFile.images[i] } + }); + } + } else { + contentParts.push({ + type: 'text', + text: `\n\n--- PDF File: ${pdfFile.name} ---\n${pdfFile.content}` + }); + } + } + + return { + role: message.role as 'user' | 'assistant' | 'system', + content: contentParts + }; + } + + /** + * Get server properties - static method for API compatibility + */ + static async getServerProps(): Promise { + try { + const currentConfig = config(); + const apiKey = currentConfig.apiKey?.toString().trim(); + + const response = await fetch(`/props`, { + headers: { + 'Content-Type': 'application/json', + ...(apiKey ? { Authorization: `Bearer ${apiKey}` } : {}) + } + }); + + if (!response.ok) { + throw new Error(`Failed to fetch server props: ${response.status}`); + } + + const data = await response.json(); + return data; + } catch (error) { + console.error('Error fetching server props:', error); + throw error; + } + } + + /** + * Processes content to separate thinking tags from regular content. + * Parses and tags to route content to appropriate handlers. + * + * @param content - The content string to process + * @param currentInsideThinkTag - Current state of whether we're inside a think tag + * @param addThinkContent - Callback to handle content inside think tags + * @param addRegularContent - Callback to handle regular content outside think tags + * @returns Boolean indicating if we're still inside a think tag after processing + * @private + */ + private processContentForThinkTags( + content: string, + currentInsideThinkTag: boolean, + addThinkContent: (chunk: string) => void, + addRegularContent: (chunk: string) => void + ): boolean { + let i = 0; + let insideThinkTag = currentInsideThinkTag; + + while (i < content.length) { + if (!insideThinkTag && content.substring(i, i + 7) === '') { + insideThinkTag = true; + i += 7; // Skip the tag + continue; + } + + if (insideThinkTag && content.substring(i, i + 8) === '') { + insideThinkTag = false; + i += 8; // Skip the tag + continue; + } + + if (insideThinkTag) { + addThinkContent(content[i]); + } else { + addRegularContent(content[i]); + } + + i++; + } + + return insideThinkTag; + } + + /** + * Aborts any ongoing chat completion request. + * Cancels the current request and cleans up the abort controller. + * + * @public + */ + public abort(): void { + if (this.abortController) { + this.abortController.abort(); + this.abortController = null; + } + } + + /** + * Injects a system message at the beginning of the conversation if configured in settings. + * Checks for existing system messages to avoid duplication and retrieves the system message + * from the current configuration settings. + * + * @param messages - Array of chat messages to process + * @returns Array of messages with system message injected at the beginning if configured + * @private + */ + private injectSystemMessage(messages: ApiChatMessageData[]): ApiChatMessageData[] { + const currentConfig = config(); + const systemMessage = currentConfig.systemMessage?.toString().trim(); + + if (!systemMessage) { + return messages; + } + + if (messages.length > 0 && messages[0].role === 'system') { + if (messages[0].content !== systemMessage) { + const updatedMessages = [...messages]; + updatedMessages[0] = { + role: 'system', + content: systemMessage + }; + return updatedMessages; + } + + return messages; + } + + const systemMsg: ApiChatMessageData = { + role: 'system', + content: systemMessage + }; + + return [systemMsg, ...messages]; + } + + /** + * Parses error response and creates appropriate error with context information + * @param response - HTTP response object + * @returns Promise - Parsed error with context info if available + */ + private async parseErrorResponse(response: Response): Promise { + try { + const errorText = await response.text(); + const errorData: ApiErrorResponse = JSON.parse(errorText); + + if (errorData.error?.type === 'exceed_context_size_error') { + const contextError = errorData.error as ApiContextSizeError; + const error = new Error(contextError.message); + error.name = 'ContextError'; + // Attach structured context information + ( + error as Error & { + contextInfo?: { promptTokens: number; maxContext: number; estimatedTokens: number }; + } + ).contextInfo = { + promptTokens: contextError.n_prompt_tokens, + maxContext: contextError.n_ctx, + estimatedTokens: contextError.n_prompt_tokens + }; + return error; + } + + // Fallback for other error types + const message = errorData.error?.message || 'Unknown server error'; + return new Error(message); + } catch { + // If we can't parse the error response, return a generic error + return new Error(`Server error (${response.status}): ${response.statusText}`); + } + } + + /** + * Updates the processing state with timing information from the server response + * @param timings - Timing data from the API response + * @param promptProgress - Progress data from the API response + */ + private updateProcessingState( + timings?: ChatMessageTimings, + promptProgress?: ChatMessagePromptProgress + ): void { + // Calculate tokens per second from timing data + const tokensPerSecond = + timings?.predicted_ms && timings?.predicted_n + ? (timings.predicted_n / timings.predicted_ms) * 1000 + : 0; + + // Update slots service with timing data (async but don't wait) + slotsService + .updateFromTimingData({ + prompt_n: timings?.prompt_n || 0, + predicted_n: timings?.predicted_n || 0, + predicted_per_second: tokensPerSecond, + cache_n: timings?.cache_n || 0, + prompt_progress: promptProgress + }) + .catch((error) => { + console.warn('Failed to update processing state:', error); + }); + } +} + +export const chatService = new ChatService(); diff --git a/tools/server/webui/src/lib/services/context.ts b/tools/server/webui/src/lib/services/context.ts new file mode 100644 index 0000000000..d4af7508e7 --- /dev/null +++ b/tools/server/webui/src/lib/services/context.ts @@ -0,0 +1,102 @@ +import { slotsService } from './slots'; + +export interface ContextCheckResult { + wouldExceed: boolean; + currentUsage: number; + maxContext: number; + availableTokens: number; + reservedTokens: number; +} + +/** + * ContextService - Context window management and limit checking + * + * This service provides context window monitoring and limit checking using real-time + * server data from the slots service. It helps prevent context overflow by tracking + * current usage and calculating available space for new content. + * + * **Architecture & Relationships:** + * - **ContextService** (this class): Context limit monitoring + * - Uses SlotsService for real-time context usage data + * - Calculates available tokens with configurable reserves + * - Provides context limit checking and error messaging + * - Helps prevent context window overflow + * + * - **SlotsService**: Provides current context usage from server slots + * - **ChatStore**: Uses context checking before sending messages + * - **UI Components**: Display context usage warnings and limits + * + * **Key Features:** + * - **Real-time Context Checking**: Uses live server data for accuracy + * - **Token Reservation**: Reserves tokens for response generation + * - **Limit Detection**: Prevents context window overflow + * - **Usage Reporting**: Detailed context usage statistics + * - **Error Messaging**: User-friendly context limit messages + * - **Configurable Reserves**: Adjustable token reservation for responses + * + * **Context Management:** + * - Monitors current context usage from active slots + * - Calculates available space considering reserved tokens + * - Provides early warning before context limits are reached + * - Helps optimize conversation length and content + */ +export class ContextService { + private reserveTokens: number; + + constructor(reserveTokens = 512) { + this.reserveTokens = reserveTokens; + } + + /** + * Checks if the context limit would be exceeded + * + * @returns {Promise} Promise that resolves to the context check result or null if an error occurs + */ + async checkContextLimit(): Promise { + try { + const currentState = await slotsService.getCurrentState(); + + if (!currentState) { + return null; + } + + const maxContext = currentState.contextTotal; + const currentUsage = currentState.contextUsed; + const availableTokens = maxContext - currentUsage - this.reserveTokens; + const wouldExceed = availableTokens <= 0; + + return { + wouldExceed, + currentUsage, + maxContext, + availableTokens: Math.max(0, availableTokens), + reservedTokens: this.reserveTokens + }; + } catch (error) { + console.warn('Error checking context limit:', error); + return null; + } + } + + /** + * Returns a formatted error message for context limit exceeded + * + * @param {ContextCheckResult} result - Context check result + * @returns {string} Formatted error message + */ + getContextErrorMessage(result: ContextCheckResult): string { + const usagePercent = Math.round((result.currentUsage / result.maxContext) * 100); + return `Context window is nearly full. Current usage: ${result.currentUsage.toLocaleString()}/${result.maxContext.toLocaleString()} tokens (${usagePercent}%). Available space: ${result.availableTokens.toLocaleString()} tokens (${result.reservedTokens} reserved for response).`; + } + + /** + * Sets the number of tokens to reserve for response generation + * + * @param {number} tokens - Number of tokens to reserve + */ + setReserveTokens(tokens: number): void { + this.reserveTokens = tokens; + } +} + +export const contextService = new ContextService(); diff --git a/tools/server/webui/src/lib/services/index.ts b/tools/server/webui/src/lib/services/index.ts new file mode 100644 index 0000000000..e5a1173ff7 --- /dev/null +++ b/tools/server/webui/src/lib/services/index.ts @@ -0,0 +1,3 @@ +export { chatService } from './chat'; +export { contextService } from './context'; +export { slotsService } from './slots'; diff --git a/tools/server/webui/src/lib/services/slots.ts b/tools/server/webui/src/lib/services/slots.ts new file mode 100644 index 0000000000..b93a5a90e7 --- /dev/null +++ b/tools/server/webui/src/lib/services/slots.ts @@ -0,0 +1,254 @@ +import { config } from '$lib/stores/settings.svelte'; + +/** + * SlotsService - Real-time processing state monitoring and token rate calculation + * + * This service provides real-time information about generation progress, token rates, + * and context usage based on timing data from ChatService streaming responses. + * It manages streaming session tracking and provides accurate processing state updates. + * + * **Architecture & Relationships:** + * - **SlotsService** (this class): Processing state monitoring + * - Receives timing data from ChatService streaming responses + * - Calculates token generation rates and context usage + * - Manages streaming session lifecycle + * - Provides real-time updates to UI components + * + * - **ChatService**: Provides timing data from `/chat/completions` streaming + * - **UI Components**: Subscribe to processing state for progress indicators + * + * **Key Features:** + * - **Real-time Monitoring**: Live processing state during generation + * - **Token Rate Calculation**: Accurate tokens/second from timing data + * - **Context Tracking**: Current context usage and remaining capacity + * - **Streaming Lifecycle**: Start/stop tracking for streaming sessions + * - **Timing Data Processing**: Converts streaming timing data to structured state + * - **Error Handling**: Graceful handling when timing data is unavailable + * + * **Processing States:** + * - `idle`: No active processing + * - `generating`: Actively generating tokens + * + * **Token Rate Calculation:** + * Uses timing data from `/chat/completions` streaming response for accurate + * real-time token generation rate measurement. + */ +export class SlotsService { + private callbacks: Set<(state: ApiProcessingState | null) => void> = new Set(); + private isStreamingActive: boolean = false; + private lastKnownState: ApiProcessingState | null = null; + + /** + * Start streaming session tracking + */ + startStreaming(): void { + this.isStreamingActive = true; + } + + /** + * Stop streaming session tracking + */ + stopStreaming(): void { + this.isStreamingActive = false; + } + + /** + * Clear the current processing state + * Used when switching to a conversation without timing data + */ + clearState(): void { + this.lastKnownState = null; + + for (const callback of this.callbacks) { + try { + callback(null); + } catch (error) { + console.error('Error in clearState callback:', error); + } + } + } + + /** + * Check if currently in a streaming session + */ + isStreaming(): boolean { + return this.isStreamingActive; + } + + /** + * @deprecated Polling is no longer used - timing data comes from ChatService streaming response + * This method logs a warning if called to help identify outdated usage + */ + fetchAndNotify(): void { + console.warn( + 'SlotsService.fetchAndNotify() is deprecated - use timing data from ChatService instead' + ); + } + + subscribe(callback: (state: ApiProcessingState | null) => void): () => void { + this.callbacks.add(callback); + + if (this.lastKnownState) { + callback(this.lastKnownState); + } + + return () => { + this.callbacks.delete(callback); + }; + } + + /** + * Updates processing state with timing data from ChatService streaming response + */ + async updateFromTimingData(timingData: { + prompt_n: number; + predicted_n: number; + predicted_per_second: number; + cache_n: number; + prompt_progress?: ChatMessagePromptProgress; + }): Promise { + const processingState = await this.parseCompletionTimingData(timingData); + + // Only update if we successfully parsed the state + if (processingState === null) { + console.warn('Failed to parse timing data - skipping update'); + return; + } + + this.lastKnownState = processingState; + + for (const callback of this.callbacks) { + try { + callback(processingState); + } catch (error) { + console.error('Error in timing callback:', error); + } + } + } + + /** + * Gets context total from last known slots data or fetches from server + */ + private async getContextTotal(): Promise { + if (this.lastKnownState && this.lastKnownState.contextTotal > 0) { + return this.lastKnownState.contextTotal; + } + + try { + const currentConfig = config(); + const apiKey = currentConfig.apiKey?.toString().trim(); + + const response = await fetch('/slots', { + headers: { + ...(apiKey ? { Authorization: `Bearer ${apiKey}` } : {}) + } + }); + if (response.ok) { + const slotsData = await response.json(); + if (Array.isArray(slotsData) && slotsData.length > 0) { + const slot = slotsData[0]; + if (slot.n_ctx && slot.n_ctx > 0) { + return slot.n_ctx; + } + } + } + } catch (error) { + console.warn('Failed to fetch context total from /slots:', error); + } + + return 4096; + } + + private async parseCompletionTimingData( + timingData: Record + ): Promise { + const promptTokens = (timingData.prompt_n as number) || 0; + const predictedTokens = (timingData.predicted_n as number) || 0; + const tokensPerSecond = (timingData.predicted_per_second as number) || 0; + const cacheTokens = (timingData.cache_n as number) || 0; + const promptProgress = timingData.prompt_progress as + | { + total: number; + cache: number; + processed: number; + time_ms: number; + } + | undefined; + + const contextTotal = await this.getContextTotal(); + + if (contextTotal === null) { + console.warn('No context total available - cannot calculate processing state'); + return null; + } + + const currentConfig = config(); + const outputTokensMax = currentConfig.max_tokens || -1; + + const contextUsed = promptTokens + cacheTokens + predictedTokens; + const outputTokensUsed = predictedTokens; + + const progressPercent = promptProgress + ? Math.round((promptProgress.processed / promptProgress.total) * 100) + : undefined; + + return { + status: predictedTokens > 0 ? 'generating' : promptProgress ? 'preparing' : 'idle', + tokensDecoded: predictedTokens, + tokensRemaining: outputTokensMax - predictedTokens, + contextUsed, + contextTotal, + outputTokensUsed, + outputTokensMax, + hasNextToken: predictedTokens > 0, + tokensPerSecond, + temperature: currentConfig.temperature ?? 0.8, + topP: currentConfig.top_p ?? 0.95, + speculative: false, + progressPercent, + promptTokens, + cacheTokens + }; + } + + /** + * Get current processing state + * Returns the last known state from timing data, or null if no data available + */ + async getCurrentState(): Promise { + if (this.lastKnownState) { + return this.lastKnownState; + } + try { + // Import dynamically to avoid circular dependency + const { chatStore } = await import('$lib/stores/chat.svelte'); + const messages = chatStore.activeMessages; + + for (let i = messages.length - 1; i >= 0; i--) { + const message = messages[i]; + if (message.role === 'assistant' && message.timings) { + const restoredState = await this.parseCompletionTimingData({ + prompt_n: message.timings.prompt_n || 0, + predicted_n: message.timings.predicted_n || 0, + predicted_per_second: + message.timings.predicted_n && message.timings.predicted_ms + ? (message.timings.predicted_n / message.timings.predicted_ms) * 1000 + : 0, + cache_n: message.timings.cache_n || 0 + }); + + if (restoredState) { + this.lastKnownState = restoredState; + return restoredState; + } + } + } + } catch (error) { + console.warn('Failed to restore timing data from messages:', error); + } + + return null; + } +} + +export const slotsService = new SlotsService(); diff --git a/tools/server/webui/src/lib/stores/chat.svelte.ts b/tools/server/webui/src/lib/stores/chat.svelte.ts new file mode 100644 index 0000000000..ac5e986428 --- /dev/null +++ b/tools/server/webui/src/lib/stores/chat.svelte.ts @@ -0,0 +1,1394 @@ +import { DatabaseStore } from '$lib/stores/database'; +import { chatService, slotsService } from '$lib/services'; +import { serverStore } from '$lib/stores/server.svelte'; +import { config } from '$lib/stores/settings.svelte'; +import { filterByLeafNodeId, findLeafNode, findDescendantMessages } from '$lib/utils/branching'; +import { browser } from '$app/environment'; +import { goto } from '$app/navigation'; +import { extractPartialThinking } from '$lib/utils/thinking'; + +/** + * ChatStore - Central state management for chat conversations and AI interactions + * + * This store manages the complete chat experience including: + * - Conversation lifecycle (create, load, delete, update) + * - Message management with branching support for conversation trees + * - Real-time AI response streaming with reasoning content support + * - File attachment handling and processing + * - Context error management and recovery + * - Database persistence through DatabaseStore integration + * + * **Architecture & Relationships:** + * - **ChatService**: Handles low-level API communication with AI models + * - ChatStore orchestrates ChatService for streaming responses + * - ChatService provides abort capabilities and error handling + * - ChatStore manages the UI state while ChatService handles network layer + * + * - **DatabaseStore**: Provides persistent storage for conversations and messages + * - ChatStore uses DatabaseStore for all CRUD operations + * - Maintains referential integrity for conversation trees + * - Handles message branching and parent-child relationships + * + * - **SlotsService**: Monitors server resource usage during AI generation + * - ChatStore coordinates slots polling during streaming + * - Provides real-time feedback on server capacity + * + * **Key Features:** + * - Reactive state management using Svelte 5 runes ($state) + * - Conversation branching for exploring different response paths + * - Streaming AI responses with real-time content updates + * - File attachment support (images, PDFs, text files, audio) + * - Context window management with error recovery + * - Partial response saving when generation is interrupted + * - Message editing with automatic response regeneration + */ +class ChatStore { + activeConversation = $state(null); + activeMessages = $state([]); + conversations = $state([]); + currentResponse = $state(''); + isInitialized = $state(false); + isLoading = $state(false); + maxContextError = $state<{ message: string; estimatedTokens: number; maxContext: number } | null>( + null + ); + titleUpdateConfirmationCallback?: (currentTitle: string, newTitle: string) => Promise; + + constructor() { + if (browser) { + this.initialize(); + } + } + + /** + * Initializes the chat store by loading conversations from the database + * Sets up the initial state and loads existing conversations + */ + async initialize(): Promise { + try { + await this.loadConversations(); + + this.maxContextError = null; + + this.isInitialized = true; + } catch (error) { + console.error('Failed to initialize chat store:', error); + } + } + + /** + * Loads all conversations from the database + * Refreshes the conversations list from persistent storage + */ + async loadConversations(): Promise { + this.conversations = await DatabaseStore.getAllConversations(); + } + + /** + * Creates a new conversation and navigates to it + * @param name - Optional name for the conversation, defaults to timestamped name + * @returns The ID of the created conversation + */ + async createConversation(name?: string): Promise { + const conversationName = name || `Chat ${new Date().toLocaleString()}`; + const conversation = await DatabaseStore.createConversation(conversationName); + + this.conversations.unshift(conversation); + + this.activeConversation = conversation; + this.activeMessages = []; + + this.maxContextError = null; + + await goto(`/chat/${conversation.id}`); + + return conversation.id; + } + + /** + * Loads a specific conversation and its messages + * @param convId - The conversation ID to load + * @returns True if conversation was loaded successfully, false otherwise + */ + async loadConversation(convId: string): Promise { + try { + const conversation = await DatabaseStore.getConversation(convId); + + if (!conversation) { + return false; + } + + this.activeConversation = conversation; + + if (conversation.currNode) { + const allMessages = await DatabaseStore.getConversationMessages(convId); + this.activeMessages = filterByLeafNodeId( + allMessages, + conversation.currNode, + false + ) as DatabaseMessage[]; + } else { + // Load all messages for conversations without currNode (backward compatibility) + this.activeMessages = await DatabaseStore.getConversationMessages(convId); + } + + this.maxContextError = null; + + return true; + } catch (error) { + console.error('Failed to load conversation:', error); + + return false; + } + } + + /** + * Adds a new message to the active conversation + * @param role - The role of the message sender (user/assistant) + * @param content - The message content + * @param type - The message type, defaults to 'text' + * @param parent - Parent message ID, defaults to '-1' for auto-detection + * @param extras - Optional extra data (files, attachments, etc.) + * @returns The created message or null if failed + */ + async addMessage( + role: ChatRole, + content: string, + type: ChatMessageType = 'text', + parent: string = '-1', + extras?: DatabaseMessageExtra[] + ): Promise { + if (!this.activeConversation) { + console.error('No active conversation when trying to add message'); + return null; + } + + try { + let parentId: string | null = null; + + if (parent === '-1') { + if (this.activeMessages.length > 0) { + parentId = this.activeMessages[this.activeMessages.length - 1].id; + } else { + const allMessages = await DatabaseStore.getConversationMessages( + this.activeConversation.id + ); + const rootMessage = allMessages.find((m) => m.parent === null && m.type === 'root'); + + if (!rootMessage) { + const rootId = await DatabaseStore.createRootMessage(this.activeConversation.id); + parentId = rootId; + } else { + parentId = rootMessage.id; + } + } + } else { + parentId = parent; + } + + const message = await DatabaseStore.createMessageBranch( + { + convId: this.activeConversation.id, + role, + content, + type, + timestamp: Date.now(), + thinking: '', + children: [], + extra: extras + }, + parentId + ); + + this.activeMessages.push(message); + + await DatabaseStore.updateCurrentNode(this.activeConversation.id, message.id); + this.activeConversation.currNode = message.id; + + this.updateConversationTimestamp(); + + return message; + } catch (error) { + console.error('Failed to add message:', error); + return null; + } + } + + /** + * Gets API options from current configuration settings + * Converts settings store values to API-compatible format + * @returns API options object for chat completion requests + */ + private getApiOptions(): Record { + const currentConfig = config(); + const apiOptions: Record = { + stream: true, + timings_per_token: true + }; + + if (currentConfig.temperature !== undefined && currentConfig.temperature !== null) { + apiOptions.temperature = Number(currentConfig.temperature); + } + if (currentConfig.max_tokens !== undefined && currentConfig.max_tokens !== null) { + apiOptions.max_tokens = Number(currentConfig.max_tokens); + } + if (currentConfig.dynatemp_range !== undefined && currentConfig.dynatemp_range !== null) { + apiOptions.dynatemp_range = Number(currentConfig.dynatemp_range); + } + if (currentConfig.dynatemp_exponent !== undefined && currentConfig.dynatemp_exponent !== null) { + apiOptions.dynatemp_exponent = Number(currentConfig.dynatemp_exponent); + } + if (currentConfig.top_k !== undefined && currentConfig.top_k !== null) { + apiOptions.top_k = Number(currentConfig.top_k); + } + if (currentConfig.top_p !== undefined && currentConfig.top_p !== null) { + apiOptions.top_p = Number(currentConfig.top_p); + } + if (currentConfig.min_p !== undefined && currentConfig.min_p !== null) { + apiOptions.min_p = Number(currentConfig.min_p); + } + if (currentConfig.xtc_probability !== undefined && currentConfig.xtc_probability !== null) { + apiOptions.xtc_probability = Number(currentConfig.xtc_probability); + } + if (currentConfig.xtc_threshold !== undefined && currentConfig.xtc_threshold !== null) { + apiOptions.xtc_threshold = Number(currentConfig.xtc_threshold); + } + if (currentConfig.typ_p !== undefined && currentConfig.typ_p !== null) { + apiOptions.typ_p = Number(currentConfig.typ_p); + } + if (currentConfig.repeat_last_n !== undefined && currentConfig.repeat_last_n !== null) { + apiOptions.repeat_last_n = Number(currentConfig.repeat_last_n); + } + if (currentConfig.repeat_penalty !== undefined && currentConfig.repeat_penalty !== null) { + apiOptions.repeat_penalty = Number(currentConfig.repeat_penalty); + } + if (currentConfig.presence_penalty !== undefined && currentConfig.presence_penalty !== null) { + apiOptions.presence_penalty = Number(currentConfig.presence_penalty); + } + if (currentConfig.frequency_penalty !== undefined && currentConfig.frequency_penalty !== null) { + apiOptions.frequency_penalty = Number(currentConfig.frequency_penalty); + } + if (currentConfig.dry_multiplier !== undefined && currentConfig.dry_multiplier !== null) { + apiOptions.dry_multiplier = Number(currentConfig.dry_multiplier); + } + if (currentConfig.dry_base !== undefined && currentConfig.dry_base !== null) { + apiOptions.dry_base = Number(currentConfig.dry_base); + } + if ( + currentConfig.dry_allowed_length !== undefined && + currentConfig.dry_allowed_length !== null + ) { + apiOptions.dry_allowed_length = Number(currentConfig.dry_allowed_length); + } + if ( + currentConfig.dry_penalty_last_n !== undefined && + currentConfig.dry_penalty_last_n !== null + ) { + apiOptions.dry_penalty_last_n = Number(currentConfig.dry_penalty_last_n); + } + if (currentConfig.samplers) { + apiOptions.samplers = currentConfig.samplers; + } + if (currentConfig.custom) { + apiOptions.custom = currentConfig.custom; + } + + return apiOptions; + } + + /** + * Handles streaming chat completion with the AI model + * @param allMessages - All messages in the conversation + * @param assistantMessage - The assistant message to stream content into + * @param onComplete - Optional callback when streaming completes + * @param onError - Optional callback when an error occurs + */ + private async streamChatCompletion( + allMessages: DatabaseMessage[], + assistantMessage: DatabaseMessage, + onComplete?: (content: string) => Promise, + onError?: (error: Error) => void + ): Promise { + let streamedContent = ''; + + let streamedReasoningContent = ''; + + slotsService.startStreaming(); + + await chatService.sendMessage(allMessages, { + ...this.getApiOptions(), + + onChunk: (chunk: string) => { + streamedContent += chunk; + this.currentResponse = streamedContent; + + const partialThinking = extractPartialThinking(streamedContent); + const messageIndex = this.findMessageIndex(assistantMessage.id); + this.updateMessageAtIndex(messageIndex, { + content: partialThinking.remainingContent || streamedContent + }); + }, + + onReasoningChunk: (reasoningChunk: string) => { + streamedReasoningContent += reasoningChunk; + const messageIndex = this.findMessageIndex(assistantMessage.id); + this.updateMessageAtIndex(messageIndex, { thinking: streamedReasoningContent }); + }, + + onComplete: async ( + finalContent?: string, + reasoningContent?: string, + timings?: ChatMessageTimings + ) => { + slotsService.stopStreaming(); + + await DatabaseStore.updateMessage(assistantMessage.id, { + content: finalContent || streamedContent, + thinking: reasoningContent || streamedReasoningContent, + timings: timings + }); + + const messageIndex = this.findMessageIndex(assistantMessage.id); + + this.updateMessageAtIndex(messageIndex, { + timings: timings + }); + + await DatabaseStore.updateCurrentNode(this.activeConversation!.id, assistantMessage.id); + this.activeConversation!.currNode = assistantMessage.id; + + await this.refreshActiveMessages(); + + if (onComplete) { + await onComplete(streamedContent); + } + + this.isLoading = false; + this.currentResponse = ''; + }, + + onError: (error: Error) => { + slotsService.stopStreaming(); + + if (error.name === 'AbortError' || error instanceof DOMException) { + this.isLoading = false; + this.currentResponse = ''; + return; + } + + if (error.name === 'ContextError') { + console.warn('Context error detected:', error.message); + this.isLoading = false; + this.currentResponse = ''; + + const messageIndex = this.activeMessages.findIndex( + (m: DatabaseMessage) => m.id === assistantMessage.id + ); + + if (messageIndex !== -1) { + this.activeMessages.splice(messageIndex, 1); + DatabaseStore.deleteMessage(assistantMessage.id).catch(console.error); + } + + // Use structured context info from new exceed_context_size_error format if available + const contextInfo = ( + error as Error & { + contextInfo?: { promptTokens: number; maxContext: number; estimatedTokens: number }; + } + ).contextInfo; + let estimatedTokens = 0; + let maxContext = serverStore.serverProps?.default_generation_settings.n_ctx || 8192; + + if (contextInfo) { + // Use precise token counts from server response + estimatedTokens = contextInfo.promptTokens; + maxContext = contextInfo.maxContext; + } else { + // Fallback to estimation for older error format + try { + // Rough estimation: ~4 characters per token + const messageContent = JSON.stringify(messages); + estimatedTokens = Math.ceil(messageContent.length / 4); + } catch { + estimatedTokens = 0; + } + } + + this.maxContextError = { + message: error.message, + estimatedTokens, + maxContext + }; + + if (onError) { + onError(error); + } + return; + } + + console.error('Streaming error:', error); + this.isLoading = false; + this.currentResponse = ''; + + const messageIndex = this.activeMessages.findIndex( + (m: DatabaseMessage) => m.id === assistantMessage.id + ); + + if (messageIndex !== -1) { + this.activeMessages[messageIndex].content = `Error: ${error.message}`; + } + + if (onError) { + onError(error); + } + } + }); + } + + /** + * Checks if an error is an abort error (user cancelled operation) + * @param error - The error to check + * @returns True if the error is an abort error + */ + private isAbortError(error: unknown): boolean { + return error instanceof Error && (error.name === 'AbortError' || error instanceof DOMException); + } + + /** + * Finds the index of a message in the active messages array + * @param messageId - The message ID to find + * @returns The index of the message, or -1 if not found + */ + private findMessageIndex(messageId: string): number { + return this.activeMessages.findIndex((m) => m.id === messageId); + } + + /** + * Updates a message at a specific index with partial data + * @param index - The index of the message to update + * @param updates - Partial message data to update + */ + private updateMessageAtIndex(index: number, updates: Partial): void { + if (index !== -1) { + Object.assign(this.activeMessages[index], updates); + } + } + + /** + * Creates a new assistant message in the database + * @param parentId - Optional parent message ID, defaults to '-1' + * @returns The created assistant message or null if failed + */ + private async createAssistantMessage(parentId?: string): Promise { + if (!this.activeConversation) return null; + + return await DatabaseStore.createMessageBranch( + { + convId: this.activeConversation.id, + type: 'text', + role: 'assistant', + content: '', + timestamp: Date.now(), + thinking: '', + children: [] + }, + parentId || null + ); + } + + /** + * Updates conversation lastModified timestamp and moves it to top of list + * Ensures recently active conversations appear first in the sidebar + */ + private updateConversationTimestamp(): void { + if (!this.activeConversation) return; + + const chatIndex = this.conversations.findIndex((c) => c.id === this.activeConversation!.id); + + if (chatIndex !== -1) { + this.conversations[chatIndex].lastModified = Date.now(); + const updatedConv = this.conversations.splice(chatIndex, 1)[0]; + this.conversations.unshift(updatedConv); + } + } + + /** + * Sends a new message and generates AI response + * @param content - The message content to send + * @param extras - Optional extra data (files, attachments, etc.) + */ + async sendMessage(content: string, extras?: DatabaseMessageExtra[]): Promise { + if ((!content.trim() && (!extras || extras.length === 0)) || this.isLoading) return; + + let isNewConversation = false; + + if (!this.activeConversation) { + await this.createConversation(); + isNewConversation = true; + } + + if (!this.activeConversation) { + console.error('No active conversation available for sending message'); + return; + } + + this.isLoading = true; + this.currentResponse = ''; + + let userMessage: DatabaseMessage | null = null; + + try { + userMessage = await this.addMessage('user', content, 'text', '-1', extras); + + if (!userMessage) { + throw new Error('Failed to add user message'); + } + + // If this is a new conversation, update the title with the first user prompt + if (isNewConversation && content) { + const title = content.trim(); + await this.updateConversationName(this.activeConversation.id, title); + } + + const allMessages = await DatabaseStore.getConversationMessages(this.activeConversation.id); + const assistantMessage = await this.createAssistantMessage(userMessage.id); + + if (!assistantMessage) { + throw new Error('Failed to create assistant message'); + } + + this.activeMessages.push(assistantMessage); + // Don't update currNode until after streaming completes to maintain proper conversation path + + await this.streamChatCompletion(allMessages, assistantMessage, undefined, (error: Error) => { + if (error.name === 'ContextError' && userMessage) { + const userMessageIndex = this.findMessageIndex(userMessage.id); + if (userMessageIndex !== -1) { + this.activeMessages.splice(userMessageIndex, 1); + DatabaseStore.deleteMessage(userMessage.id).catch(console.error); + } + } + }); + } catch (error) { + if (this.isAbortError(error)) { + this.isLoading = false; + return; + } + + if (error instanceof Error && error.name === 'ContextError' && userMessage) { + const userMessageIndex = this.findMessageIndex(userMessage.id); + if (userMessageIndex !== -1) { + this.activeMessages.splice(userMessageIndex, 1); + DatabaseStore.deleteMessage(userMessage.id).catch(console.error); + } + } + + console.error('Failed to send message:', error); + this.isLoading = false; + } + } + + /** + * Stops the current message generation + * Aborts ongoing requests and saves partial response if available + */ + stopGeneration(): void { + slotsService.stopStreaming(); + chatService.abort(); + this.savePartialResponseIfNeeded(); + this.isLoading = false; + this.currentResponse = ''; + } + + /** + * Gracefully stops generation and saves partial response + */ + async gracefulStop(): Promise { + if (!this.isLoading) return; + + slotsService.stopStreaming(); + chatService.abort(); + await this.savePartialResponseIfNeeded(); + this.isLoading = false; + this.currentResponse = ''; + } + + /** + * Clears the max context error state + * Removes any displayed context limit warnings + */ + clearMaxContextError(): void { + this.maxContextError = null; + } + + /** + * Sets the max context error state + * @param error - The context error details or null to clear + */ + setMaxContextError( + error: { message: string; estimatedTokens: number; maxContext: number } | null + ): void { + this.maxContextError = error; + } + + /** + * Saves partial response if generation was interrupted + * Preserves user's partial content and timing data when generation is stopped early + */ + private async savePartialResponseIfNeeded(): Promise { + if (!this.currentResponse.trim() || !this.activeMessages.length) { + return; + } + + const lastMessage = this.activeMessages[this.activeMessages.length - 1]; + + if (lastMessage && lastMessage.role === 'assistant') { + try { + const partialThinking = extractPartialThinking(this.currentResponse); + + const updateData: { + content: string; + thinking?: string; + timings?: ChatMessageTimings; + } = { + content: partialThinking.remainingContent || this.currentResponse + }; + + if (partialThinking.thinking) { + updateData.thinking = partialThinking.thinking; + } + + const lastKnownState = await slotsService.getCurrentState(); + + if (lastKnownState) { + updateData.timings = { + prompt_n: lastKnownState.promptTokens || 0, + predicted_n: lastKnownState.tokensDecoded || 0, + cache_n: lastKnownState.cacheTokens || 0, + // We don't have ms data from the state, but we can estimate + predicted_ms: + lastKnownState.tokensPerSecond && lastKnownState.tokensDecoded + ? (lastKnownState.tokensDecoded / lastKnownState.tokensPerSecond) * 1000 + : undefined + }; + } + + await DatabaseStore.updateMessage(lastMessage.id, updateData); + + lastMessage.content = partialThinking.remainingContent || this.currentResponse; + if (updateData.timings) { + lastMessage.timings = updateData.timings; + } + } catch (error) { + lastMessage.content = this.currentResponse; + console.error('Failed to save partial response:', error); + } + } else { + console.error('Last message is not an assistant message'); + } + } + + /** + * Updates a user message and regenerates the assistant response + * @param messageId - The ID of the message to update + * @param newContent - The new content for the message + */ + async updateMessage(messageId: string, newContent: string): Promise { + if (!this.activeConversation) return; + + if (this.isLoading) { + this.stopGeneration(); + } + + try { + const messageIndex = this.findMessageIndex(messageId); + if (messageIndex === -1) { + console.error('Message not found for update'); + return; + } + + const messageToUpdate = this.activeMessages[messageIndex]; + const originalContent = messageToUpdate.content; + + if (messageToUpdate.role !== 'user') { + console.error('Only user messages can be edited'); + return; + } + + const allMessages = await DatabaseStore.getConversationMessages(this.activeConversation.id); + const rootMessage = allMessages.find((m) => m.type === 'root' && m.parent === null); + const isFirstUserMessage = + rootMessage && messageToUpdate.parent === rootMessage.id && messageToUpdate.role === 'user'; + + this.updateMessageAtIndex(messageIndex, { content: newContent }); + await DatabaseStore.updateMessage(messageId, { content: newContent }); + + // If this is the first user message, update the conversation title with confirmation if needed + if (isFirstUserMessage && newContent.trim()) { + await this.updateConversationTitleWithConfirmation( + this.activeConversation.id, + newContent.trim(), + this.titleUpdateConfirmationCallback + ); + } + + const messagesToRemove = this.activeMessages.slice(messageIndex + 1); + for (const message of messagesToRemove) { + await DatabaseStore.deleteMessage(message.id); + } + + this.activeMessages = this.activeMessages.slice(0, messageIndex + 1); + this.updateConversationTimestamp(); + + this.isLoading = true; + this.currentResponse = ''; + + try { + const assistantMessage = await this.createAssistantMessage(); + if (!assistantMessage) { + throw new Error('Failed to create assistant message'); + } + + this.activeMessages.push(assistantMessage); + await DatabaseStore.updateCurrentNode(this.activeConversation.id, assistantMessage.id); + this.activeConversation.currNode = assistantMessage.id; + + await this.streamChatCompletion( + this.activeMessages.slice(0, -1), + assistantMessage, + undefined, + () => { + const editedMessageIndex = this.findMessageIndex(messageId); + this.updateMessageAtIndex(editedMessageIndex, { content: originalContent }); + } + ); + } catch (regenerateError) { + console.error('Failed to regenerate response:', regenerateError); + this.isLoading = false; + + const messageIndex = this.findMessageIndex(messageId); + this.updateMessageAtIndex(messageIndex, { content: originalContent }); + } + } catch (error) { + if (this.isAbortError(error)) { + return; + } + + console.error('Failed to update message:', error); + } + } + + /** + * Regenerates an assistant message with a new response + * @param messageId - The ID of the assistant message to regenerate + */ + async regenerateMessage(messageId: string): Promise { + if (!this.activeConversation || this.isLoading) return; + + try { + const messageIndex = this.findMessageIndex(messageId); + if (messageIndex === -1) { + console.error('Message not found for regeneration'); + return; + } + + const messageToRegenerate = this.activeMessages[messageIndex]; + if (messageToRegenerate.role !== 'assistant') { + console.error('Only assistant messages can be regenerated'); + return; + } + + const messagesToRemove = this.activeMessages.slice(messageIndex); + for (const message of messagesToRemove) { + await DatabaseStore.deleteMessage(message.id); + } + + this.activeMessages = this.activeMessages.slice(0, messageIndex); + this.updateConversationTimestamp(); + + this.isLoading = true; + this.currentResponse = ''; + + try { + const allMessages = await DatabaseStore.getConversationMessages(this.activeConversation.id); + const assistantMessage = await this.createAssistantMessage(); + + if (!assistantMessage) { + throw new Error('Failed to create assistant message'); + } + + this.activeMessages.push(assistantMessage); + await DatabaseStore.updateCurrentNode(this.activeConversation.id, assistantMessage.id); + this.activeConversation.currNode = assistantMessage.id; + + await this.streamChatCompletion(allMessages, assistantMessage); + } catch (regenerateError) { + console.error('Failed to regenerate response:', regenerateError); + this.isLoading = false; + } + } catch (error) { + if (this.isAbortError(error)) return; + console.error('Failed to regenerate message:', error); + } + } + + /** + * Updates the name of a conversation + * @param convId - The conversation ID to update + * @param name - The new name for the conversation + */ + async updateConversationName(convId: string, name: string): Promise { + try { + await DatabaseStore.updateConversation(convId, { name }); + + const convIndex = this.conversations.findIndex((c) => c.id === convId); + + if (convIndex !== -1) { + this.conversations[convIndex].name = name; + } + + if (this.activeConversation?.id === convId) { + this.activeConversation.name = name; + } + } catch (error) { + console.error('Failed to update conversation name:', error); + } + } + + /** + * Sets the callback function for title update confirmations + * @param callback - Function to call when confirmation is needed + */ + setTitleUpdateConfirmationCallback( + callback: (currentTitle: string, newTitle: string) => Promise + ): void { + this.titleUpdateConfirmationCallback = callback; + } + + /** + * Updates conversation title with optional confirmation dialog based on settings + * @param convId - The conversation ID to update + * @param newTitle - The new title content + * @param onConfirmationNeeded - Callback when user confirmation is needed + * @returns Promise - True if title was updated, false if cancelled + */ + async updateConversationTitleWithConfirmation( + convId: string, + newTitle: string, + onConfirmationNeeded?: (currentTitle: string, newTitle: string) => Promise + ): Promise { + try { + const currentConfig = config(); + + // Only ask for confirmation if the setting is enabled and callback is provided + if (currentConfig.askForTitleConfirmation && onConfirmationNeeded) { + const conversation = await DatabaseStore.getConversation(convId); + if (!conversation) return false; + + const shouldUpdate = await onConfirmationNeeded(conversation.name, newTitle); + if (!shouldUpdate) return false; + } + + await this.updateConversationName(convId, newTitle); + return true; + } catch (error) { + console.error('Failed to update conversation title with confirmation:', error); + return false; + } + } + + /** + * Deletes a conversation and all its messages + * @param convId - The conversation ID to delete + */ + async deleteConversation(convId: string): Promise { + try { + await DatabaseStore.deleteConversation(convId); + + this.conversations = this.conversations.filter((c) => c.id !== convId); + + if (this.activeConversation?.id === convId) { + this.activeConversation = null; + this.activeMessages = []; + await goto('/?new_chat=true'); + } + } catch (error) { + console.error('Failed to delete conversation:', error); + } + } + + /** + * Gets information about what messages will be deleted when deleting a specific message + * @param messageId - The ID of the message to be deleted + * @returns Object with deletion info including count and types of messages + */ + async getDeletionInfo(messageId: string): Promise<{ + totalCount: number; + userMessages: number; + assistantMessages: number; + messageTypes: string[]; + }> { + if (!this.activeConversation) { + return { totalCount: 0, userMessages: 0, assistantMessages: 0, messageTypes: [] }; + } + + const allMessages = await DatabaseStore.getConversationMessages(this.activeConversation.id); + const descendants = findDescendantMessages(allMessages, messageId); + const allToDelete = [messageId, ...descendants]; + + const messagesToDelete = allMessages.filter((m) => allToDelete.includes(m.id)); + + let userMessages = 0; + let assistantMessages = 0; + const messageTypes: string[] = []; + + for (const msg of messagesToDelete) { + if (msg.role === 'user') { + userMessages++; + if (!messageTypes.includes('user message')) messageTypes.push('user message'); + } else if (msg.role === 'assistant') { + assistantMessages++; + if (!messageTypes.includes('assistant response')) messageTypes.push('assistant response'); + } + } + + return { + totalCount: allToDelete.length, + userMessages, + assistantMessages, + messageTypes + }; + } + + /** + * Deletes a message and all its descendants, updating conversation path if needed + * @param messageId - The ID of the message to delete + */ + async deleteMessage(messageId: string): Promise { + try { + if (!this.activeConversation) return; + + // Get all messages to find siblings before deletion + const allMessages = await DatabaseStore.getConversationMessages(this.activeConversation.id); + const messageToDelete = allMessages.find((m) => m.id === messageId); + + if (!messageToDelete) { + console.error('Message to delete not found'); + return; + } + + // Check if the deleted message is in the current conversation path + const currentPath = filterByLeafNodeId( + allMessages, + this.activeConversation.currNode || '', + false + ); + const isInCurrentPath = currentPath.some((m) => m.id === messageId); + + // If the deleted message is in the current path, we need to update currNode + if (isInCurrentPath && messageToDelete.parent) { + // Find all siblings (messages with same parent) + const siblings = allMessages.filter( + (m) => m.parent === messageToDelete.parent && m.id !== messageId + ); + + if (siblings.length > 0) { + // Find the latest sibling (highest timestamp) + const latestSibling = siblings.reduce((latest, sibling) => + sibling.timestamp > latest.timestamp ? sibling : latest + ); + + // Find the leaf node for this sibling branch to get the complete conversation path + const leafNodeId = findLeafNode(allMessages, latestSibling.id); + + // Update conversation to use the leaf node of the latest remaining sibling + await DatabaseStore.updateCurrentNode(this.activeConversation.id, leafNodeId); + this.activeConversation.currNode = leafNodeId; + } else { + // No siblings left, navigate to parent if it exists + if (messageToDelete.parent) { + const parentLeafId = findLeafNode(allMessages, messageToDelete.parent); + await DatabaseStore.updateCurrentNode(this.activeConversation.id, parentLeafId); + this.activeConversation.currNode = parentLeafId; + } + } + } + + // Use cascading deletion to remove the message and all its descendants + await DatabaseStore.deleteMessageCascading(this.activeConversation.id, messageId); + + // Refresh active messages to show the updated branch + await this.refreshActiveMessages(); + + // Update conversation timestamp + this.updateConversationTimestamp(); + } catch (error) { + console.error('Failed to delete message:', error); + } + } + + /** + * Clears the active conversation and resets state + * Used when navigating away from chat or starting fresh + */ + clearActiveConversation(): void { + this.activeConversation = null; + this.activeMessages = []; + this.currentResponse = ''; + this.isLoading = false; + this.maxContextError = null; + } + + /** Refreshes active messages based on currNode after branch navigation */ + async refreshActiveMessages(): Promise { + if (!this.activeConversation) return; + + const allMessages = await DatabaseStore.getConversationMessages(this.activeConversation.id); + if (allMessages.length === 0) { + this.activeMessages = []; + return; + } + + const leafNodeId = + this.activeConversation.currNode || + allMessages.reduce((latest, msg) => (msg.timestamp > latest.timestamp ? msg : latest)).id; + + const currentPath = filterByLeafNodeId(allMessages, leafNodeId, false) as DatabaseMessage[]; + + this.activeMessages.length = 0; + this.activeMessages.push(...currentPath); + } + + /** + * Navigates to a specific sibling branch by updating currNode and refreshing messages + * @param siblingId - The sibling message ID to navigate to + */ + async navigateToSibling(siblingId: string): Promise { + if (!this.activeConversation) return; + + // Get the current first user message before navigation + const allMessages = await DatabaseStore.getConversationMessages(this.activeConversation.id); + const rootMessage = allMessages.find((m) => m.type === 'root' && m.parent === null); + const currentFirstUserMessage = this.activeMessages.find( + (m) => m.role === 'user' && m.parent === rootMessage?.id + ); + + await DatabaseStore.updateCurrentNode(this.activeConversation.id, siblingId); + this.activeConversation.currNode = siblingId; + await this.refreshActiveMessages(); + + // Only show title dialog if we're navigating between different first user message siblings + if (rootMessage && this.activeMessages.length > 0) { + // Find the first user message in the new active path + const newFirstUserMessage = this.activeMessages.find( + (m) => m.role === 'user' && m.parent === rootMessage.id + ); + + // Only show dialog if: + // 1. We have a new first user message + // 2. It's different from the previous one (different ID or content) + // 3. The new message has content + if ( + newFirstUserMessage && + newFirstUserMessage.content.trim() && + (!currentFirstUserMessage || + newFirstUserMessage.id !== currentFirstUserMessage.id || + newFirstUserMessage.content.trim() !== currentFirstUserMessage.content.trim()) + ) { + await this.updateConversationTitleWithConfirmation( + this.activeConversation.id, + newFirstUserMessage.content.trim(), + this.titleUpdateConfirmationCallback + ); + } + } + } + + /** + * Edits an assistant message with optional branching + * @param messageId - The ID of the assistant message to edit + * @param newContent - The new content for the message + * @param shouldBranch - Whether to create a branch or replace in-place + */ + async editAssistantMessage( + messageId: string, + newContent: string, + shouldBranch: boolean + ): Promise { + if (!this.activeConversation || this.isLoading) return; + + try { + const messageIndex = this.findMessageIndex(messageId); + + if (messageIndex === -1) { + console.error('Message not found for editing'); + return; + } + + const messageToEdit = this.activeMessages[messageIndex]; + + if (messageToEdit.role !== 'assistant') { + console.error('Only assistant messages can be edited with this method'); + return; + } + + if (shouldBranch) { + const newMessage = await DatabaseStore.createMessageBranch( + { + convId: messageToEdit.convId, + type: messageToEdit.type, + timestamp: Date.now(), + role: messageToEdit.role, + content: newContent, + thinking: messageToEdit.thinking || '', + children: [] + }, + messageToEdit.parent! + ); + + await DatabaseStore.updateCurrentNode(this.activeConversation.id, newMessage.id); + this.activeConversation.currNode = newMessage.id; + } else { + await DatabaseStore.updateMessage(messageToEdit.id, { + content: newContent, + timestamp: Date.now() + }); + + this.updateMessageAtIndex(messageIndex, { + content: newContent, + timestamp: Date.now() + }); + } + + this.updateConversationTimestamp(); + await this.refreshActiveMessages(); + } catch (error) { + console.error('Failed to edit assistant message:', error); + } + } + + /** + * Edits a message by creating a new branch with the edited content + * @param messageId - The ID of the message to edit + * @param newContent - The new content for the message + */ + async editMessageWithBranching(messageId: string, newContent: string): Promise { + if (!this.activeConversation || this.isLoading) return; + + try { + const messageIndex = this.findMessageIndex(messageId); + if (messageIndex === -1) { + console.error('Message not found for editing'); + return; + } + + const messageToEdit = this.activeMessages[messageIndex]; + if (messageToEdit.role !== 'user') { + console.error('Only user messages can be edited'); + return; + } + + // Check if this is the first user message in the conversation + // First user message is one that has the root message as its parent + const allMessages = await DatabaseStore.getConversationMessages(this.activeConversation.id); + const rootMessage = allMessages.find((m) => m.type === 'root' && m.parent === null); + const isFirstUserMessage = + rootMessage && messageToEdit.parent === rootMessage.id && messageToEdit.role === 'user'; + + let parentId = messageToEdit.parent; + + if (parentId === undefined || parentId === null) { + const rootMessage = allMessages.find((m) => m.type === 'root' && m.parent === null); + if (rootMessage) { + parentId = rootMessage.id; + } else { + console.error('No root message found for editing'); + return; + } + } + + const newMessage = await DatabaseStore.createMessageBranch( + { + convId: messageToEdit.convId, + type: messageToEdit.type, + timestamp: Date.now(), + role: messageToEdit.role, + content: newContent, + thinking: messageToEdit.thinking || '', + children: [], + extra: messageToEdit.extra ? JSON.parse(JSON.stringify(messageToEdit.extra)) : undefined + }, + parentId + ); + + await DatabaseStore.updateCurrentNode(this.activeConversation.id, newMessage.id); + this.activeConversation.currNode = newMessage.id; + this.updateConversationTimestamp(); + + // If this is the first user message, update the conversation title with confirmation if needed + if (isFirstUserMessage && newContent.trim()) { + await this.updateConversationTitleWithConfirmation( + this.activeConversation.id, + newContent.trim(), + this.titleUpdateConfirmationCallback + ); + } + + await this.refreshActiveMessages(); + + if (messageToEdit.role === 'user') { + await this.generateResponseForMessage(newMessage.id); + } + } catch (error) { + console.error('Failed to edit message with branching:', error); + } + } + + /** + * Regenerates an assistant message by creating a new branch with a new response + * @param messageId - The ID of the assistant message to regenerate + */ + async regenerateMessageWithBranching(messageId: string): Promise { + if (!this.activeConversation || this.isLoading) return; + + try { + const messageIndex = this.findMessageIndex(messageId); + if (messageIndex === -1) { + console.error('Message not found for regeneration'); + return; + } + + const messageToRegenerate = this.activeMessages[messageIndex]; + if (messageToRegenerate.role !== 'assistant') { + console.error('Only assistant messages can be regenerated'); + return; + } + + // Find parent message in all conversation messages, not just active path + const conversationMessages = await DatabaseStore.getConversationMessages( + this.activeConversation.id + ); + const parentMessage = conversationMessages.find((m) => m.id === messageToRegenerate.parent); + if (!parentMessage) { + console.error('Parent message not found for regeneration'); + return; + } + + this.isLoading = true; + this.currentResponse = ''; + + const newAssistantMessage = await DatabaseStore.createMessageBranch( + { + convId: this.activeConversation.id, + type: 'text', + timestamp: Date.now(), + role: 'assistant', + content: '', + thinking: '', + children: [] + }, + parentMessage.id + ); + + await DatabaseStore.updateCurrentNode(this.activeConversation.id, newAssistantMessage.id); + this.activeConversation.currNode = newAssistantMessage.id; + this.updateConversationTimestamp(); + await this.refreshActiveMessages(); + + const allConversationMessages = await DatabaseStore.getConversationMessages( + this.activeConversation.id + ); + const conversationPath = filterByLeafNodeId( + allConversationMessages, + parentMessage.id, + false + ) as DatabaseMessage[]; + + await this.streamChatCompletion(conversationPath, newAssistantMessage); + } catch (error) { + if (this.isAbortError(error)) return; + + console.error('Failed to regenerate message with branching:', error); + this.isLoading = false; + } + } + + /** + * Generates a new assistant response for a given user message + * @param userMessageId - ID of user message to respond to + */ + private async generateResponseForMessage(userMessageId: string): Promise { + if (!this.activeConversation) return; + + this.isLoading = true; + this.currentResponse = ''; + + try { + // Get conversation path up to the user message + const allMessages = await DatabaseStore.getConversationMessages(this.activeConversation.id); + const conversationPath = filterByLeafNodeId( + allMessages, + userMessageId, + false + ) as DatabaseMessage[]; + + // Create new assistant message branch + const assistantMessage = await DatabaseStore.createMessageBranch( + { + convId: this.activeConversation.id, + type: 'text', + timestamp: Date.now(), + role: 'assistant', + content: '', + thinking: '', + children: [] + }, + userMessageId + ); + + // Add assistant message to active messages immediately for UI reactivity + this.activeMessages.push(assistantMessage); + + // Stream response to new assistant message + await this.streamChatCompletion(conversationPath, assistantMessage); + } catch (error) { + console.error('Failed to generate response:', error); + this.isLoading = false; + } + } +} + +export const chatStore = new ChatStore(); + +export const conversations = () => chatStore.conversations; +export const activeConversation = () => chatStore.activeConversation; +export const activeMessages = () => chatStore.activeMessages; +export const isLoading = () => chatStore.isLoading; +export const currentResponse = () => chatStore.currentResponse; +export const isInitialized = () => chatStore.isInitialized; +export const maxContextError = () => chatStore.maxContextError; + +export const createConversation = chatStore.createConversation.bind(chatStore); +export const deleteConversation = chatStore.deleteConversation.bind(chatStore); +export const sendMessage = chatStore.sendMessage.bind(chatStore); +export const gracefulStop = chatStore.gracefulStop.bind(chatStore); +export const clearMaxContextError = chatStore.clearMaxContextError.bind(chatStore); +export const setMaxContextError = chatStore.setMaxContextError.bind(chatStore); + +// Branching operations +export const refreshActiveMessages = chatStore.refreshActiveMessages.bind(chatStore); +export const navigateToSibling = chatStore.navigateToSibling.bind(chatStore); +export const editAssistantMessage = chatStore.editAssistantMessage.bind(chatStore); +export const editMessageWithBranching = chatStore.editMessageWithBranching.bind(chatStore); +export const regenerateMessageWithBranching = + chatStore.regenerateMessageWithBranching.bind(chatStore); +export const deleteMessage = chatStore.deleteMessage.bind(chatStore); +export const getDeletionInfo = chatStore.getDeletionInfo.bind(chatStore); +export const updateConversationName = chatStore.updateConversationName.bind(chatStore); +export const setTitleUpdateConfirmationCallback = + chatStore.setTitleUpdateConfirmationCallback.bind(chatStore); + +export function stopGeneration() { + chatStore.stopGeneration(); +} +export const messages = () => chatStore.activeMessages; diff --git a/tools/server/webui/src/lib/stores/database.ts b/tools/server/webui/src/lib/stores/database.ts new file mode 100644 index 0000000000..f2e3a677a4 --- /dev/null +++ b/tools/server/webui/src/lib/stores/database.ts @@ -0,0 +1,349 @@ +import Dexie, { type EntityTable } from 'dexie'; +import { filterByLeafNodeId, findDescendantMessages } from '$lib/utils/branching'; + +class LlamacppDatabase extends Dexie { + conversations!: EntityTable; + messages!: EntityTable; + + constructor() { + super('LlamacppWebui'); + + this.version(1).stores({ + conversations: 'id, lastModified, currNode, name', + messages: 'id, convId, type, role, timestamp, parent, children' + }); + } +} + +const db = new LlamacppDatabase(); + +/** + * DatabaseStore - Persistent data layer for conversation and message management + * + * This service provides a comprehensive data access layer built on IndexedDB using Dexie. + * It handles all persistent storage operations for conversations, messages, and application settings + * with support for complex conversation branching and message threading. + * + * **Architecture & Relationships:** + * - **DatabaseStore** (this class): Stateless data persistence layer + * - Manages IndexedDB operations through Dexie ORM + * - Handles conversation and message CRUD operations + * - Supports complex branching with parent-child relationships + * - Provides transaction safety for multi-table operations + * + * - **ChatStore**: Primary consumer for conversation state management + * - Uses DatabaseStore for all persistence operations + * - Coordinates UI state with database state + * - Handles conversation lifecycle and message branching + * + * **Key Features:** + * - **Conversation Management**: Create, read, update, delete conversations + * - **Message Branching**: Support for tree-like conversation structures + * - **Transaction Safety**: Atomic operations for data consistency + * - **Path Resolution**: Navigate conversation branches and find leaf nodes + * - **Cascading Deletion**: Remove entire conversation branches + * + * **Database Schema:** + * - `conversations`: Conversation metadata with current node tracking + * - `messages`: Individual messages with parent-child relationships + * + * **Branching Model:** + * Messages form a tree structure where each message can have multiple children, + * enabling conversation branching and alternative response paths. The conversation's + * `currNode` tracks the currently active branch endpoint. + */ +import { v4 as uuid } from 'uuid'; + +export class DatabaseStore { + /** + * Adds a new message to the database. + * + * @param message - Message to add (without id) + * @returns The created message + */ + static async addMessage(message: Omit): Promise { + const newMessage: DatabaseMessage = { + ...message, + id: uuid() + }; + + await db.messages.add(newMessage); + return newMessage; + } + + /** + * Creates a new conversation. + * + * @param name - Name of the conversation + * @returns The created conversation + */ + static async createConversation(name: string): Promise { + const conversation: DatabaseConversation = { + id: uuid(), + name, + lastModified: Date.now(), + currNode: '' + }; + + await db.conversations.add(conversation); + return conversation; + } + + /** + * Creates a new message branch by adding a message and updating parent/child relationships. + * Also updates the conversation's currNode to point to the new message. + * + * @param message - Message to add (without id) + * @param parentId - Parent message ID to attach to + * @returns The created message + */ + static async createMessageBranch( + message: Omit, + parentId: string | null + ): Promise { + return await db.transaction('rw', [db.conversations, db.messages], async () => { + // Handle null parent (root message case) + if (parentId !== null) { + const parentMessage = await db.messages.get(parentId); + if (!parentMessage) { + throw new Error(`Parent message ${parentId} not found`); + } + } + + const newMessage: DatabaseMessage = { + ...message, + id: uuid(), + parent: parentId, + children: [] + }; + + await db.messages.add(newMessage); + + // Update parent's children array if parent exists + if (parentId !== null) { + const parentMessage = await db.messages.get(parentId); + if (parentMessage) { + await db.messages.update(parentId, { + children: [...parentMessage.children, newMessage.id] + }); + } + } + + await this.updateConversation(message.convId, { + currNode: newMessage.id + }); + + return newMessage; + }); + } + + /** + * Creates a root message for a new conversation. + * Root messages are not displayed but serve as the tree root for branching. + * + * @param convId - Conversation ID + * @returns The created root message + */ + static async createRootMessage(convId: string): Promise { + const rootMessage: DatabaseMessage = { + id: uuid(), + convId, + type: 'root', + timestamp: Date.now(), + role: 'system', + content: '', + parent: null, + thinking: '', + children: [] + }; + + await db.messages.add(rootMessage); + return rootMessage.id; + } + + /** + * Deletes a conversation and all its messages. + * + * @param id - Conversation ID + */ + static async deleteConversation(id: string): Promise { + await db.transaction('rw', [db.conversations, db.messages], async () => { + await db.conversations.delete(id); + await db.messages.where('convId').equals(id).delete(); + }); + } + + /** + * Deletes a message and removes it from its parent's children array. + * + * @param messageId - ID of the message to delete + */ + static async deleteMessage(messageId: string): Promise { + await db.transaction('rw', db.messages, async () => { + const message = await db.messages.get(messageId); + if (!message) return; + + // Remove this message from its parent's children array + if (message.parent) { + const parent = await db.messages.get(message.parent); + if (parent) { + parent.children = parent.children.filter((childId: string) => childId !== messageId); + await db.messages.put(parent); + } + } + + // Delete the message + await db.messages.delete(messageId); + }); + } + + /** + * Deletes a message and all its descendant messages (cascading deletion). + * This removes the entire branch starting from the specified message. + * + * @param conversationId - ID of the conversation containing the message + * @param messageId - ID of the root message to delete (along with all descendants) + * @returns Array of all deleted message IDs + */ + static async deleteMessageCascading( + conversationId: string, + messageId: string + ): Promise { + return await db.transaction('rw', db.messages, async () => { + // Get all messages in the conversation to find descendants + const allMessages = await db.messages.where('convId').equals(conversationId).toArray(); + + // Find all descendant messages + const descendants = findDescendantMessages(allMessages, messageId); + const allToDelete = [messageId, ...descendants]; + + // Get the message to delete for parent cleanup + const message = await db.messages.get(messageId); + if (message && message.parent) { + const parent = await db.messages.get(message.parent); + if (parent) { + parent.children = parent.children.filter((childId: string) => childId !== messageId); + await db.messages.put(parent); + } + } + + // Delete all messages in the branch + await db.messages.bulkDelete(allToDelete); + + return allToDelete; + }); + } + + /** + * Gets all conversations, sorted by last modified time (newest first). + * + * @returns Array of conversations + */ + static async getAllConversations(): Promise { + return await db.conversations.orderBy('lastModified').reverse().toArray(); + } + + /** + * Gets a conversation by ID. + * + * @param id - Conversation ID + * @returns The conversation if found, otherwise undefined + */ + static async getConversation(id: string): Promise { + return await db.conversations.get(id); + } + + /** + * Gets all leaf nodes (messages with no children) in a conversation. + * Useful for finding all possible conversation endpoints. + * + * @param convId - Conversation ID + * @returns Array of leaf node message IDs + */ + static async getConversationLeafNodes(convId: string): Promise { + const allMessages = await this.getConversationMessages(convId); + return allMessages.filter((msg) => msg.children.length === 0).map((msg) => msg.id); + } + + /** + * Gets all messages in a conversation, sorted by timestamp (oldest first). + * + * @param convId - Conversation ID + * @returns Array of messages in the conversation + */ + static async getConversationMessages(convId: string): Promise { + return await db.messages.where('convId').equals(convId).sortBy('timestamp'); + } + + /** + * Gets the conversation path from root to the current leaf node. + * Uses the conversation's currNode to determine the active branch. + * + * @param convId - Conversation ID + * @returns Array of messages in the current conversation path + */ + static async getConversationPath(convId: string): Promise { + const conversation = await this.getConversation(convId); + + if (!conversation) { + return []; + } + + const allMessages = await this.getConversationMessages(convId); + + if (allMessages.length === 0) { + return []; + } + + // If no currNode is set, use the latest message as leaf + const leafNodeId = + conversation.currNode || + allMessages.reduce((latest, msg) => (msg.timestamp > latest.timestamp ? msg : latest)).id; + + return filterByLeafNodeId(allMessages, leafNodeId, false) as DatabaseMessage[]; + } + + /** + * Updates a conversation. + * + * @param id - Conversation ID + * @param updates - Partial updates to apply + * @returns Promise that resolves when the conversation is updated + */ + static async updateConversation( + id: string, + updates: Partial> + ): Promise { + await db.conversations.update(id, { + ...updates, + lastModified: Date.now() + }); + } + + /** + * Updates the conversation's current node (active branch). + * This determines which conversation path is currently being viewed. + * + * @param convId - Conversation ID + * @param nodeId - Message ID to set as current node + */ + static async updateCurrentNode(convId: string, nodeId: string): Promise { + await this.updateConversation(convId, { + currNode: nodeId + }); + } + + /** + * Updates a message. + * + * @param id - Message ID + * @param updates - Partial updates to apply + * @returns Promise that resolves when the message is updated + */ + static async updateMessage( + id: string, + updates: Partial> + ): Promise { + await db.messages.update(id, updates); + } +} diff --git a/tools/server/webui/src/lib/stores/server.svelte.ts b/tools/server/webui/src/lib/stores/server.svelte.ts new file mode 100644 index 0000000000..7abaa2bdf5 --- /dev/null +++ b/tools/server/webui/src/lib/stores/server.svelte.ts @@ -0,0 +1,184 @@ +import { ChatService } from '$lib/services/chat'; +import { config } from '$lib/stores/settings.svelte'; + +/** + * ServerStore - Server state management and capability detection + * + * This store manages communication with the llama.cpp server to retrieve and maintain + * server properties, model information, and capability detection. It provides reactive + * state for server connectivity, model capabilities, and endpoint availability. + * + * **Architecture & Relationships:** + * - **ServerStore** (this class): Server state and capability management + * - Fetches and caches server properties from `/props` endpoint + * - Detects model capabilities (vision, audio support) + * - Tests endpoint availability (slots endpoint) + * - Provides reactive server state for UI components + * + * - **ChatService**: Uses server properties for request validation + * - **SlotsService**: Depends on slots endpoint availability detection + * - **UI Components**: Subscribe to server state for capability-based rendering + * + * **Key Features:** + * - **Server Properties**: Model path, context size, build information + * - **Capability Detection**: Vision and audio modality support + * - **Endpoint Testing**: Slots endpoint availability checking + * - **Error Handling**: User-friendly error messages for connection issues + * - **Reactive State**: Svelte 5 runes for automatic UI updates + * - **State Management**: Loading states and error recovery + * + * **Server Capabilities Detected:** + * - Model name extraction from file path + * - Vision support (multimodal image processing) + * - Audio support (speech processing) + * - Slots endpoint availability (for processing state monitoring) + * - Context window size and token limits + */ +class ServerStore { + private _serverProps = $state(null); + private _loading = $state(false); + private _error = $state(null); + private _slotsEndpointAvailable = $state(null); + + get serverProps(): ApiLlamaCppServerProps | null { + return this._serverProps; + } + + get loading(): boolean { + return this._loading; + } + + get error(): string | null { + return this._error; + } + + get modelName(): string | null { + if (!this._serverProps?.model_path) return null; + return this._serverProps.model_path.split(/(\\|\/)/).pop() || null; + } + + get supportedModalities(): string[] { + const modalities: string[] = []; + if (this._serverProps?.modalities?.audio) { + modalities.push('audio'); + } + if (this._serverProps?.modalities?.vision) { + modalities.push('vision'); + } + return modalities; + } + + get supportsVision(): boolean { + return this._serverProps?.modalities?.vision ?? false; + } + + get supportsAudio(): boolean { + return this._serverProps?.modalities?.audio ?? false; + } + + get slotsEndpointAvailable(): boolean | null { + return this._slotsEndpointAvailable; + } + + /** + * Check if slots endpoint is available based on server properties and endpoint support + */ + private async checkSlotsEndpointAvailability(): Promise { + if (!this._serverProps) { + this._slotsEndpointAvailable = false; + return; + } + + if (this._serverProps.total_slots <= 0) { + this._slotsEndpointAvailable = false; + return; + } + + try { + const currentConfig = config(); + const apiKey = currentConfig.apiKey?.toString().trim(); + + const response = await fetch('/slots', { + headers: { + ...(apiKey ? { Authorization: `Bearer ${apiKey}` } : {}) + } + }); + + if (response.status === 501) { + console.info('Slots endpoint not implemented - server started without --slots flag'); + this._slotsEndpointAvailable = false; + return; + } + + this._slotsEndpointAvailable = true; + } catch (error) { + console.warn('Unable to test slots endpoint availability:', error); + this._slotsEndpointAvailable = false; + } + } + + /** + * Fetches server properties from the server + */ + async fetchServerProps(): Promise { + this._loading = true; + this._error = null; + + try { + console.log('Fetching server properties...'); + const props = await ChatService.getServerProps(); + this._serverProps = props; + console.log('Server properties loaded:', props); + + // Check slots endpoint availability after server props are loaded + await this.checkSlotsEndpointAvailability(); + } catch (error) { + let errorMessage = 'Failed to connect to server'; + + if (error instanceof Error) { + // Handle specific error types with user-friendly messages + if (error.name === 'TypeError' && error.message.includes('fetch')) { + errorMessage = 'Server is not running or unreachable'; + } else if (error.message.includes('ECONNREFUSED')) { + errorMessage = 'Connection refused - server may be offline'; + } else if (error.message.includes('ENOTFOUND')) { + errorMessage = 'Server not found - check server address'; + } else if (error.message.includes('ETIMEDOUT')) { + errorMessage = 'Connection timeout - server may be overloaded'; + } else if (error.message.includes('500')) { + errorMessage = 'Server error - check server logs'; + } else if (error.message.includes('404')) { + errorMessage = 'Server endpoint not found'; + } else if (error.message.includes('403') || error.message.includes('401')) { + errorMessage = 'Access denied'; + } + } + + this._error = errorMessage; + console.error('Error fetching server properties:', error); + } finally { + this._loading = false; + } + } + + /** + * Clears the server state + */ + clear(): void { + this._serverProps = null; + this._error = null; + this._loading = false; + this._slotsEndpointAvailable = null; + } +} + +export const serverStore = new ServerStore(); + +export const serverProps = () => serverStore.serverProps; +export const serverLoading = () => serverStore.loading; +export const serverError = () => serverStore.error; +export const modelName = () => serverStore.modelName; +export const supportedModalities = () => serverStore.supportedModalities; +export const supportsVision = () => serverStore.supportsVision; +export const supportsAudio = () => serverStore.supportsAudio; +export const slotsEndpointAvailable = () => serverStore.slotsEndpointAvailable; diff --git a/tools/server/webui/src/lib/stores/settings.svelte.ts b/tools/server/webui/src/lib/stores/settings.svelte.ts new file mode 100644 index 0000000000..e5bc5ca9c9 --- /dev/null +++ b/tools/server/webui/src/lib/stores/settings.svelte.ts @@ -0,0 +1,206 @@ +/** + * SettingsStore - Application configuration and theme management + * + * This store manages all application settings including AI model parameters, UI preferences, + * and theme configuration. It provides persistent storage through localStorage with reactive + * state management using Svelte 5 runes. + * + * **Architecture & Relationships:** + * - **SettingsStore** (this class): Configuration state management + * - Manages AI model parameters (temperature, max tokens, etc.) + * - Handles theme switching and persistence + * - Provides localStorage synchronization + * - Offers reactive configuration access + * + * - **ChatService**: Reads model parameters for API requests + * - **UI Components**: Subscribe to theme and configuration changes + * + * **Key Features:** + * - **Model Parameters**: Temperature, max tokens, top-p, top-k, repeat penalty + * - **Theme Management**: Auto, light, dark theme switching + * - **Persistence**: Automatic localStorage synchronization + * - **Reactive State**: Svelte 5 runes for automatic UI updates + * - **Default Handling**: Graceful fallback to defaults for missing settings + * - **Batch Updates**: Efficient multi-setting updates + * - **Reset Functionality**: Restore defaults for individual or all settings + * + * **Configuration Categories:** + * - Generation parameters (temperature, tokens, sampling) + * - UI preferences (theme, display options) + * - System settings (model selection, prompts) + * - Advanced options (seed, penalties, context handling) + */ + +import { browser } from '$app/environment'; +import { SETTING_CONFIG_DEFAULT } from '$lib/constants/settings-config'; + +class SettingsStore { + config = $state({ ...SETTING_CONFIG_DEFAULT }); + theme = $state('auto'); + isInitialized = $state(false); + + constructor() { + if (browser) { + this.initialize(); + } + } + + /** + * Initialize the settings store by loading from localStorage + */ + initialize() { + try { + this.loadConfig(); + this.loadTheme(); + this.isInitialized = true; + } catch (error) { + console.error('Failed to initialize settings store:', error); + } + } + + /** + * Load configuration from localStorage + * Returns default values for missing keys to prevent breaking changes + */ + private loadConfig() { + if (!browser) return; + + try { + const savedVal = JSON.parse(localStorage.getItem('config') || '{}'); + // Merge with defaults to prevent breaking changes + this.config = { + ...SETTING_CONFIG_DEFAULT, + ...savedVal + }; + } catch (error) { + console.warn('Failed to parse config from localStorage, using defaults:', error); + this.config = { ...SETTING_CONFIG_DEFAULT }; + } + } + + /** + * Load theme from localStorage + */ + private loadTheme() { + if (!browser) return; + + this.theme = localStorage.getItem('theme') || 'auto'; + } + + /** + * Update a specific configuration setting + * @param key - The configuration key to update + * @param value - The new value for the configuration key + */ + updateConfig(key: K, value: SettingsConfigType[K]) { + this.config[key] = value; + this.saveConfig(); + } + + /** + * Update multiple configuration settings at once + * @param updates - Object containing the configuration updates + */ + updateMultipleConfig(updates: Partial) { + Object.assign(this.config, updates); + this.saveConfig(); + } + + /** + * Save the current configuration to localStorage + */ + private saveConfig() { + if (!browser) return; + + try { + localStorage.setItem('config', JSON.stringify(this.config)); + } catch (error) { + console.error('Failed to save config to localStorage:', error); + } + } + + /** + * Update the theme setting + * @param newTheme - The new theme value + */ + updateTheme(newTheme: string) { + this.theme = newTheme; + this.saveTheme(); + } + + /** + * Save the current theme to localStorage + */ + private saveTheme() { + if (!browser) return; + + try { + if (this.theme === 'auto') { + localStorage.removeItem('theme'); + } else { + localStorage.setItem('theme', this.theme); + } + } catch (error) { + console.error('Failed to save theme to localStorage:', error); + } + } + + /** + * Reset configuration to defaults + */ + resetConfig() { + this.config = { ...SETTING_CONFIG_DEFAULT }; + this.saveConfig(); + } + + /** + * Reset theme to auto + */ + resetTheme() { + this.theme = 'auto'; + this.saveTheme(); + } + + /** + * Reset all settings to defaults + */ + resetAll() { + this.resetConfig(); + this.resetTheme(); + } + + /** + * Get a specific configuration value + * @param key - The configuration key to get + * @returns The configuration value + */ + getConfig(key: K): SettingsConfigType[K] { + return this.config[key]; + } + + /** + * Get the entire configuration object + * @returns The complete configuration object + */ + getAllConfig(): SettingsConfigType { + return { ...this.config }; + } +} + +// Create and export the settings store instance +export const settingsStore = new SettingsStore(); + +// Export reactive getters for easy access in components +export const config = () => settingsStore.config; +export const theme = () => settingsStore.theme; +export const isInitialized = () => settingsStore.isInitialized; + +// Export bound methods for easy access +export const updateConfig = settingsStore.updateConfig.bind(settingsStore); +export const updateMultipleConfig = settingsStore.updateMultipleConfig.bind(settingsStore); +export const updateTheme = settingsStore.updateTheme.bind(settingsStore); +export const resetConfig = settingsStore.resetConfig.bind(settingsStore); +export const resetTheme = settingsStore.resetTheme.bind(settingsStore); +export const resetAll = settingsStore.resetAll.bind(settingsStore); +export const getConfig = settingsStore.getConfig.bind(settingsStore); +export const getAllConfig = settingsStore.getAllConfig.bind(settingsStore); diff --git a/tools/server/webui/src/lib/types/api.d.ts b/tools/server/webui/src/lib/types/api.d.ts new file mode 100644 index 0000000000..d0e60a6c13 --- /dev/null +++ b/tools/server/webui/src/lib/types/api.d.ts @@ -0,0 +1,252 @@ +import type { ChatMessagePromptProgress } from './chat'; + +export interface ApiChatMessageContentPart { + type: 'text' | 'image_url' | 'input_audio'; + text?: string; + image_url?: { + url: string; + }; + input_audio?: { + data: string; + format: 'wav' | 'mp3'; + }; +} + +export interface ApiContextSizeError { + code: number; + message: string; + type: 'exceed_context_size_error'; + n_prompt_tokens: number; + n_ctx: number; +} + +export interface ApiErrorResponse { + error: + | ApiContextSizeError + | { + code: number; + message: string; + type?: string; + }; +} + +export interface ApiChatMessageData { + role: ChatRole; + content: string | ApiChatMessageContentPart[]; + timestamp?: number; +} + +export interface ApiLlamaCppServerProps { + default_generation_settings: { + id: number; + id_task: number; + n_ctx: number; + speculative: boolean; + is_processing: boolean; + params: { + n_predict: number; + seed: number; + temperature: number; + dynatemp_range: number; + dynatemp_exponent: number; + top_k: number; + top_p: number; + min_p: number; + top_n_sigma: number; + xtc_probability: number; + xtc_threshold: number; + typ_p: number; + repeat_last_n: number; + repeat_penalty: number; + presence_penalty: number; + frequency_penalty: number; + dry_multiplier: number; + dry_base: number; + dry_allowed_length: number; + dry_penalty_last_n: number; + dry_sequence_breakers: string[]; + mirostat: number; + mirostat_tau: number; + mirostat_eta: number; + stop: string[]; + max_tokens: number; + n_keep: number; + n_discard: number; + ignore_eos: boolean; + stream: boolean; + logit_bias: Array<[number, number]>; + n_probs: number; + min_keep: number; + grammar: string; + grammar_lazy: boolean; + grammar_triggers: string[]; + preserved_tokens: number[]; + chat_format: string; + reasoning_format: string; + reasoning_in_content: boolean; + thinking_forced_open: boolean; + samplers: string[]; + 'speculative.n_max': number; + 'speculative.n_min': number; + 'speculative.p_min': number; + timings_per_token: boolean; + post_sampling_probs: boolean; + lora: Array<{ name: string; scale: number }>; + }; + prompt: string; + next_token: { + has_next_token: boolean; + has_new_line: boolean; + n_remain: number; + n_decoded: number; + stopping_word: string; + }; + }; + total_slots: number; + model_path: string; + modalities: { + vision: boolean; + audio: boolean; + }; + chat_template: string; + bos_token: string; + eos_token: string; + build_info: string; +} + +export interface ApiChatCompletionRequest { + messages: Array<{ + role: ChatRole; + content: string | ApiChatMessageContentPart[]; + }>; + stream?: boolean; + // Reasoning parameters + reasoning_format?: string; + // Generation parameters + temperature?: number; + max_tokens?: number; + // Sampling parameters + dynatemp_range?: number; + dynatemp_exponent?: number; + top_k?: number; + top_p?: number; + min_p?: number; + xtc_probability?: number; + xtc_threshold?: number; + typ_p?: number; + // Penalty parameters + repeat_last_n?: number; + repeat_penalty?: number; + presence_penalty?: number; + frequency_penalty?: number; + dry_multiplier?: number; + dry_base?: number; + dry_allowed_length?: number; + dry_penalty_last_n?: number; + // Sampler configuration + samplers?: string[]; + // Custom parameters (JSON string) + custom?: Record; +} + +export interface ApiChatCompletionStreamChunk { + choices: Array<{ + delta: { + content?: string; + reasoning_content?: string; + }; + }>; + timings?: { + prompt_n?: number; + prompt_ms?: number; + predicted_n?: number; + predicted_ms?: number; + cache_n?: number; + }; + prompt_progress?: ChatMessagePromptProgress; +} + +export interface ApiChatCompletionResponse { + choices: Array<{ + message: { + content: string; + reasoning_content?: string; + }; + }>; +} + +export interface ApiSlotData { + id: number; + id_task: number; + n_ctx: number; + speculative: boolean; + is_processing: boolean; + params: { + n_predict: number; + seed: number; + temperature: number; + dynatemp_range: number; + dynatemp_exponent: number; + top_k: number; + top_p: number; + min_p: number; + top_n_sigma: number; + xtc_probability: number; + xtc_threshold: number; + typical_p: number; + repeat_last_n: number; + repeat_penalty: number; + presence_penalty: number; + frequency_penalty: number; + dry_multiplier: number; + dry_base: number; + dry_allowed_length: number; + dry_penalty_last_n: number; + mirostat: number; + mirostat_tau: number; + mirostat_eta: number; + max_tokens: number; + n_keep: number; + n_discard: number; + ignore_eos: boolean; + stream: boolean; + n_probs: number; + min_keep: number; + chat_format: string; + reasoning_format: string; + reasoning_in_content: boolean; + thinking_forced_open: boolean; + samplers: string[]; + 'speculative.n_max': number; + 'speculative.n_min': number; + 'speculative.p_min': number; + timings_per_token: boolean; + post_sampling_probs: boolean; + lora: Array<{ name: string; scale: number }>; + }; + next_token: { + has_next_token: boolean; + has_new_line: boolean; + n_remain: number; + n_decoded: number; + }; +} + +export interface ApiProcessingState { + status: 'initializing' | 'generating' | 'preparing' | 'idle'; + tokensDecoded: number; + tokensRemaining: number; + contextUsed: number; + contextTotal: number; + outputTokensUsed: number; // Total output tokens (thinking + regular content) + outputTokensMax: number; // Max output tokens allowed + temperature: number; + topP: number; + speculative: boolean; + hasNextToken: boolean; + tokensPerSecond?: number; + // Progress information from prompt_progress + progressPercent?: number; + promptTokens?: number; + cacheTokens?: number; +} diff --git a/tools/server/webui/src/lib/types/chat.d.ts b/tools/server/webui/src/lib/types/chat.d.ts new file mode 100644 index 0000000000..d803a5aa0f --- /dev/null +++ b/tools/server/webui/src/lib/types/chat.d.ts @@ -0,0 +1,34 @@ +export type ChatMessageType = 'root' | 'text' | 'think'; +export type ChatRole = 'user' | 'assistant' | 'system'; + +export interface ChatUploadedFile { + id: string; + name: string; + size: number; + type: string; + file: File; + preview?: string; + textContent?: string; +} + +export interface ChatMessageSiblingInfo { + message: DatabaseMessage; + siblingIds: string[]; + currentIndex: number; + totalSiblings: number; +} + +export interface ChatMessagePromptProgress { + cache: number; + processed: number; + time_ms: number; + total: number; +} + +export interface ChatMessageTimings { + cache_n?: number; + predicted_ms?: number; + predicted_n?: number; + prompt_ms?: number; + prompt_n?: number; +} diff --git a/tools/server/webui/src/lib/types/database.d.ts b/tools/server/webui/src/lib/types/database.d.ts new file mode 100644 index 0000000000..e3076ef12a --- /dev/null +++ b/tools/server/webui/src/lib/types/database.d.ts @@ -0,0 +1,55 @@ +import type { ChatMessageTimings } from './chat'; + +export interface DatabaseConversation { + currNode: string | null; + id: string; + lastModified: number; + name: string; +} + +export interface DatabaseMessageExtraAudioFile { + type: 'audioFile'; + name: string; + base64Data: string; + mimeType: string; +} + +export interface DatabaseMessageExtraImageFile { + type: 'imageFile'; + name: string; + base64Url: string; +} + +export interface DatabaseMessageExtraTextFile { + type: 'textFile'; + name: string; + content: string; +} + +export interface DatabaseMessageExtraPdfFile { + type: 'pdfFile'; + name: string; + content: string; // Text content extracted from PDF + images?: string[]; // Optional: PDF pages as base64 images + processedAsImages: boolean; // Whether PDF was processed as images +} + +export type DatabaseMessageExtra = + | DatabaseMessageExtraImageFile + | DatabaseMessageExtraTextFile + | DatabaseMessageExtraAudioFile + | DatabaseMessageExtraPdfFile; + +export interface DatabaseMessage { + id: string; + convId: string; + type: ChatMessageType; + timestamp: number; + role: ChatRole; + content: string; + parent: string; + thinking: string; + children: string[]; + extra?: DatabaseMessageExtra[]; + timings?: ChatMessageTimings; +} diff --git a/tools/server/webui/src/lib/types/settings.d.ts b/tools/server/webui/src/lib/types/settings.d.ts new file mode 100644 index 0000000000..4311f779ad --- /dev/null +++ b/tools/server/webui/src/lib/types/settings.d.ts @@ -0,0 +1,50 @@ +import type { SETTING_CONFIG_DEFAULT } from '$lib/constants/settings-config'; +import type { ChatMessageTimings } from './chat'; + +export type SettingsConfigValue = string | number | boolean; + +export interface SettingsFieldConfig { + key: string; + label: string; + type: 'input' | 'textarea' | 'checkbox' | 'select'; + help?: string; + options?: Array<{ value: string; label: string; icon?: typeof import('@lucide/svelte').Icon }>; +} + +export interface SettingsChatServiceOptions { + stream?: boolean; + // Generation parameters + temperature?: number; + max_tokens?: number; + // Sampling parameters + dynatemp_range?: number; + dynatemp_exponent?: number; + top_k?: number; + top_p?: number; + min_p?: number; + xtc_probability?: number; + xtc_threshold?: number; + typ_p?: number; + // Penalty parameters + repeat_last_n?: number; + repeat_penalty?: number; + presence_penalty?: number; + frequency_penalty?: number; + dry_multiplier?: number; + dry_base?: number; + dry_allowed_length?: number; + dry_penalty_last_n?: number; + // Sampler configuration + samplers?: string | string[]; + // Custom parameters + custom?: string; + // Callbacks + onChunk?: (chunk: string) => void; + onReasoningChunk?: (chunk: string) => void; + onComplete?: (response: string, reasoningContent?: string, timings?: ChatMessageTimings) => void; + onError?: (error: Error) => void; +} + +export type SettingsConfigType = typeof SETTING_CONFIG_DEFAULT & { + [key: string]: SettingsConfigValue; +}; diff --git a/tools/server/webui/src/lib/utils/api-key-validation.ts b/tools/server/webui/src/lib/utils/api-key-validation.ts new file mode 100644 index 0000000000..d7bbf9c2eb --- /dev/null +++ b/tools/server/webui/src/lib/utils/api-key-validation.ts @@ -0,0 +1,45 @@ +import { error } from '@sveltejs/kit'; +import { browser } from '$app/environment'; +import { config } from '$lib/stores/settings.svelte'; + +/** + * Validates API key by making a request to the server props endpoint + * Throws SvelteKit errors for authentication failures or server issues + */ +export async function validateApiKey(fetch: typeof globalThis.fetch): Promise { + if (!browser) { + return; + } + + try { + const apiKey = config().apiKey; + + const headers: Record = { + 'Content-Type': 'application/json' + }; + + if (apiKey) { + headers.Authorization = `Bearer ${apiKey}`; + } + + const response = await fetch('/props', { headers }); + + if (!response.ok) { + if (response.status === 401 || response.status === 403) { + throw error(401, 'Access denied'); + } else if (response.status >= 500) { + throw error(response.status, 'Server error - check if llama.cpp server is running'); + } else { + throw error(response.status, `Server responded with status ${response.status}`); + } + } + } catch (err) { + // If it's already a SvelteKit error, re-throw it + if (err && typeof err === 'object' && 'status' in err) { + throw err; + } + + // Network or other errors + throw error(503, 'Cannot connect to server - check if llama.cpp server is running'); + } +} diff --git a/tools/server/webui/src/lib/utils/audio-recording.ts b/tools/server/webui/src/lib/utils/audio-recording.ts new file mode 100644 index 0000000000..acf4c6d1fa --- /dev/null +++ b/tools/server/webui/src/lib/utils/audio-recording.ts @@ -0,0 +1,226 @@ +import { MimeTypeAudio } from '$lib/enums/files'; + +/** + * AudioRecorder - Browser-based audio recording with MediaRecorder API + * + * This class provides a complete audio recording solution using the browser's MediaRecorder API. + * It handles microphone access, recording state management, and audio format optimization. + * + * **Features:** + * - Automatic microphone permission handling + * - Audio enhancement (echo cancellation, noise suppression, auto gain) + * - Multiple format support with fallback (WAV, WebM, MP4, AAC) + * - Real-time recording state tracking + * - Proper cleanup and resource management + */ +export class AudioRecorder { + private mediaRecorder: MediaRecorder | null = null; + private audioChunks: Blob[] = []; + private stream: MediaStream | null = null; + private recordingState: boolean = false; + + async startRecording(): Promise { + try { + this.stream = await navigator.mediaDevices.getUserMedia({ + audio: { + echoCancellation: true, + noiseSuppression: true, + autoGainControl: true + } + }); + + this.initializeRecorder(this.stream); + + this.audioChunks = []; + // Start recording with a small timeslice to ensure we get data + this.mediaRecorder!.start(100); + this.recordingState = true; + } catch (error) { + console.error('Failed to start recording:', error); + throw new Error('Failed to access microphone. Please check permissions.'); + } + } + + async stopRecording(): Promise { + return new Promise((resolve, reject) => { + if (!this.mediaRecorder || this.mediaRecorder.state === 'inactive') { + reject(new Error('No active recording to stop')); + return; + } + + this.mediaRecorder.onstop = () => { + const mimeType = this.mediaRecorder?.mimeType || MimeTypeAudio.WAV; + const audioBlob = new Blob(this.audioChunks, { type: mimeType }); + + this.cleanup(); + + resolve(audioBlob); + }; + + this.mediaRecorder.onerror = (event) => { + console.error('Recording error:', event); + this.cleanup(); + reject(new Error('Recording failed')); + }; + + this.mediaRecorder.stop(); + }); + } + + isRecording(): boolean { + return this.recordingState; + } + + cancelRecording(): void { + if (this.mediaRecorder && this.mediaRecorder.state !== 'inactive') { + this.mediaRecorder.stop(); + } + this.cleanup(); + } + + private initializeRecorder(stream: MediaStream): void { + const options: MediaRecorderOptions = {}; + + if (MediaRecorder.isTypeSupported(MimeTypeAudio.WAV)) { + options.mimeType = MimeTypeAudio.WAV; + } else if (MediaRecorder.isTypeSupported(MimeTypeAudio.WEBM_OPUS)) { + options.mimeType = MimeTypeAudio.WEBM_OPUS; + } else if (MediaRecorder.isTypeSupported(MimeTypeAudio.WEBM)) { + options.mimeType = MimeTypeAudio.WEBM; + } else if (MediaRecorder.isTypeSupported(MimeTypeAudio.MP4)) { + options.mimeType = MimeTypeAudio.MP4; + } else { + console.warn('No preferred audio format supported, using default'); + } + + this.mediaRecorder = new MediaRecorder(stream, options); + + this.mediaRecorder.ondataavailable = (event) => { + if (event.data.size > 0) { + this.audioChunks.push(event.data); + } + }; + + this.mediaRecorder.onstop = () => { + this.recordingState = false; + }; + + this.mediaRecorder.onerror = (event) => { + console.error('MediaRecorder error:', event); + this.recordingState = false; + }; + } + + private cleanup(): void { + if (this.stream) { + for (const track of this.stream.getTracks()) { + track.stop(); + } + + this.stream = null; + } + this.mediaRecorder = null; + this.audioChunks = []; + this.recordingState = false; + } +} + +export async function convertToWav(audioBlob: Blob): Promise { + try { + if (audioBlob.type.includes('wav')) { + return audioBlob; + } + + const arrayBuffer = await audioBlob.arrayBuffer(); + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const audioContext = new (window.AudioContext || (window as any).webkitAudioContext)(); + + const audioBuffer = await audioContext.decodeAudioData(arrayBuffer); + + const wavBlob = audioBufferToWav(audioBuffer); + + audioContext.close(); + + return wavBlob; + } catch (error) { + console.error('Failed to convert audio to WAV:', error); + return audioBlob; + } +} + +function audioBufferToWav(buffer: AudioBuffer): Blob { + const length = buffer.length; + const numberOfChannels = buffer.numberOfChannels; + const sampleRate = buffer.sampleRate; + const bytesPerSample = 2; // 16-bit + const blockAlign = numberOfChannels * bytesPerSample; + const byteRate = sampleRate * blockAlign; + const dataSize = length * blockAlign; + const bufferSize = 44 + dataSize; + + const arrayBuffer = new ArrayBuffer(bufferSize); + const view = new DataView(arrayBuffer); + + const writeString = (offset: number, string: string) => { + for (let i = 0; i < string.length; i++) { + view.setUint8(offset + i, string.charCodeAt(i)); + } + }; + + writeString(0, 'RIFF'); // ChunkID + view.setUint32(4, bufferSize - 8, true); // ChunkSize + writeString(8, 'WAVE'); // Format + writeString(12, 'fmt '); // Subchunk1ID + view.setUint32(16, 16, true); // Subchunk1Size + view.setUint16(20, 1, true); // AudioFormat (PCM) + view.setUint16(22, numberOfChannels, true); // NumChannels + view.setUint32(24, sampleRate, true); // SampleRate + view.setUint32(28, byteRate, true); // ByteRate + view.setUint16(32, blockAlign, true); // BlockAlign + view.setUint16(34, 16, true); // BitsPerSample + writeString(36, 'data'); // Subchunk2ID + view.setUint32(40, dataSize, true); // Subchunk2Size + + let offset = 44; + for (let i = 0; i < length; i++) { + for (let channel = 0; channel < numberOfChannels; channel++) { + const sample = Math.max(-1, Math.min(1, buffer.getChannelData(channel)[i])); + view.setInt16(offset, sample * 0x7fff, true); + offset += 2; + } + } + + return new Blob([arrayBuffer], { type: MimeTypeAudio.WAV }); +} + +/** + * Create a File object from audio blob with timestamp-based naming + * @param audioBlob - The audio blob to wrap + * @param filename - Optional custom filename + * @returns File object with appropriate name and metadata + */ +export function createAudioFile(audioBlob: Blob, filename?: string): File { + const timestamp = new Date().toISOString().replace(/[:.]/g, '-'); + const extension = audioBlob.type.includes('wav') ? 'wav' : 'mp3'; + const defaultFilename = `recording-${timestamp}.${extension}`; + + return new File([audioBlob], filename || defaultFilename, { + type: audioBlob.type, + lastModified: Date.now() + }); +} + +/** + * Check if audio recording is supported in the current browser + * @returns True if MediaRecorder and getUserMedia are available + */ +export function isAudioRecordingSupported(): boolean { + return !!( + typeof navigator !== 'undefined' && + navigator.mediaDevices && + typeof navigator.mediaDevices.getUserMedia === 'function' && + typeof window !== 'undefined' && + window.MediaRecorder + ); +} diff --git a/tools/server/webui/src/lib/utils/autoresize-textarea.ts b/tools/server/webui/src/lib/utils/autoresize-textarea.ts new file mode 100644 index 0000000000..cfee5ec151 --- /dev/null +++ b/tools/server/webui/src/lib/utils/autoresize-textarea.ts @@ -0,0 +1,10 @@ +/** + * Automatically resizes a textarea element to fit its content + * @param textareaElement - The textarea element to resize + */ +export default function autoResizeTextarea(textareaElement: HTMLTextAreaElement | null): void { + if (textareaElement) { + textareaElement.style.height = '1rem'; + textareaElement.style.height = textareaElement.scrollHeight + 'px'; + } +} diff --git a/tools/server/webui/src/lib/utils/branching.ts b/tools/server/webui/src/lib/utils/branching.ts new file mode 100644 index 0000000000..3be56047a5 --- /dev/null +++ b/tools/server/webui/src/lib/utils/branching.ts @@ -0,0 +1,283 @@ +/** + * Message branching utilities for conversation tree navigation. + * + * Conversation branching allows users to edit messages and create alternate paths + * while preserving the original conversation flow. Each message has parent/children + * relationships forming a tree structure. + * + * Example tree: + * root + * ├── message 1 (user) + * │ └── message 2 (assistant) + * │ ├── message 3 (user) + * │ └── message 6 (user) ← new branch + * └── message 4 (user) + * └── message 5 (assistant) + */ + +/** + * Filters messages to get the conversation path from root to a specific leaf node. + * If the leafNodeId doesn't exist, returns the path with the latest timestamp. + * + * @param messages - All messages in the conversation + * @param leafNodeId - The target leaf node ID to trace back from + * @param includeRoot - Whether to include root messages in the result + * @returns Array of messages from root to leaf, sorted by timestamp + */ +export function filterByLeafNodeId( + messages: readonly DatabaseMessage[], + leafNodeId: string, + includeRoot: boolean = false +): readonly DatabaseMessage[] { + const result: DatabaseMessage[] = []; + const nodeMap = new Map(); + + // Build node map for quick lookups + for (const msg of messages) { + nodeMap.set(msg.id, msg); + } + + // Find the starting node (leaf node or latest if not found) + let startNode: DatabaseMessage | undefined = nodeMap.get(leafNodeId); + if (!startNode) { + // If leaf node not found, use the message with latest timestamp + let latestTime = -1; + for (const msg of messages) { + if (msg.timestamp > latestTime) { + startNode = msg; + latestTime = msg.timestamp; + } + } + } + + // Traverse from leaf to root, collecting messages + let currentNode: DatabaseMessage | undefined = startNode; + while (currentNode) { + // Include message if it's not root, or if we want to include root + if (currentNode.type !== 'root' || includeRoot) { + result.push(currentNode); + } + + // Stop traversal if parent is null (reached root) + if (currentNode.parent === null) { + break; + } + currentNode = nodeMap.get(currentNode.parent); + } + + // Sort by timestamp to get chronological order (root to leaf) + result.sort((a, b) => a.timestamp - b.timestamp); + return result; +} + +/** + * Finds the leaf node (message with no children) for a given message branch. + * Traverses down the tree following the last child until reaching a leaf. + * + * @param messages - All messages in the conversation + * @param messageId - Starting message ID to find leaf for + * @returns The leaf node ID, or the original messageId if no children + */ +export function findLeafNode(messages: readonly DatabaseMessage[], messageId: string): string { + const nodeMap = new Map(); + + // Build node map for quick lookups + for (const msg of messages) { + nodeMap.set(msg.id, msg); + } + + let currentNode: DatabaseMessage | undefined = nodeMap.get(messageId); + while (currentNode && currentNode.children.length > 0) { + // Follow the last child (most recent branch) + const lastChildId = currentNode.children[currentNode.children.length - 1]; + currentNode = nodeMap.get(lastChildId); + } + + return currentNode?.id ?? messageId; +} + +/** + * Finds all descendant messages (children, grandchildren, etc.) of a given message. + * This is used for cascading deletion to remove all messages in a branch. + * + * @param messages - All messages in the conversation + * @param messageId - The root message ID to find descendants for + * @returns Array of all descendant message IDs + */ +export function findDescendantMessages( + messages: readonly DatabaseMessage[], + messageId: string +): string[] { + const nodeMap = new Map(); + + // Build node map for quick lookups + for (const msg of messages) { + nodeMap.set(msg.id, msg); + } + + const descendants: string[] = []; + const queue: string[] = [messageId]; + + while (queue.length > 0) { + const currentId = queue.shift()!; + const currentNode = nodeMap.get(currentId); + + if (currentNode) { + // Add all children to the queue and descendants list + for (const childId of currentNode.children) { + descendants.push(childId); + queue.push(childId); + } + } + } + + return descendants; +} + +/** + * Gets sibling information for a message, including all sibling IDs and current position. + * Siblings are messages that share the same parent. + * + * @param messages - All messages in the conversation + * @param messageId - The message to get sibling info for + * @returns Sibling information including leaf node IDs for navigation + */ +export function getMessageSiblings( + messages: readonly DatabaseMessage[], + messageId: string +): ChatMessageSiblingInfo | null { + const nodeMap = new Map(); + + // Build node map for quick lookups + for (const msg of messages) { + nodeMap.set(msg.id, msg); + } + + const message = nodeMap.get(messageId); + if (!message) { + return null; + } + + // Handle null parent (root message) case + if (message.parent === null) { + // No parent means this is likely a root node with no siblings + return { + message, + siblingIds: [messageId], + currentIndex: 0, + totalSiblings: 1 + }; + } + + const parentNode = nodeMap.get(message.parent); + if (!parentNode) { + // Parent not found - treat as single message + return { + message, + siblingIds: [messageId], + currentIndex: 0, + totalSiblings: 1 + }; + } + + // Get all sibling IDs (including self) + const siblingIds = parentNode.children; + + // Convert sibling message IDs to their corresponding leaf node IDs + // This allows navigation between different conversation branches + const siblingLeafIds = siblingIds.map((siblingId: string) => findLeafNode(messages, siblingId)); + + // Find current message's position among siblings + const currentIndex = siblingIds.indexOf(messageId); + + return { + message, + siblingIds: siblingLeafIds, + currentIndex, + totalSiblings: siblingIds.length + }; +} + +/** + * Creates a display-ready list of messages with sibling information for UI rendering. + * This is the main function used by chat components to render conversation branches. + * + * @param messages - All messages in the conversation + * @param leafNodeId - Current leaf node being viewed + * @returns Array of messages with sibling navigation info + */ +export function getMessageDisplayList( + messages: readonly DatabaseMessage[], + leafNodeId: string +): ChatMessageSiblingInfo[] { + // Get the current conversation path + const currentPath = filterByLeafNodeId(messages, leafNodeId, true); + const result: ChatMessageSiblingInfo[] = []; + + // Add sibling info for each message in the current path + for (const message of currentPath) { + if (message.type === 'root') { + continue; // Skip root messages in display + } + + const siblingInfo = getMessageSiblings(messages, message.id); + if (siblingInfo) { + result.push(siblingInfo); + } + } + + return result; +} + +/** + * Checks if a message has multiple siblings (indicating branching at that point). + * + * @param messages - All messages in the conversation + * @param messageId - The message to check + * @returns True if the message has siblings + */ +export function hasMessageSiblings( + messages: readonly DatabaseMessage[], + messageId: string +): boolean { + const siblingInfo = getMessageSiblings(messages, messageId); + return siblingInfo ? siblingInfo.totalSiblings > 1 : false; +} + +/** + * Gets the next sibling message ID for navigation. + * + * @param messages - All messages in the conversation + * @param messageId - Current message ID + * @returns Next sibling's leaf node ID, or null if at the end + */ +export function getNextSibling( + messages: readonly DatabaseMessage[], + messageId: string +): string | null { + const siblingInfo = getMessageSiblings(messages, messageId); + if (!siblingInfo || siblingInfo.currentIndex >= siblingInfo.totalSiblings - 1) { + return null; + } + + return siblingInfo.siblingIds[siblingInfo.currentIndex + 1]; +} + +/** + * Gets the previous sibling message ID for navigation. + * + * @param messages - All messages in the conversation + * @param messageId - Current message ID + * @returns Previous sibling's leaf node ID, or null if at the beginning + */ +export function getPreviousSibling( + messages: readonly DatabaseMessage[], + messageId: string +): string | null { + const siblingInfo = getMessageSiblings(messages, messageId); + if (!siblingInfo || siblingInfo.currentIndex <= 0) { + return null; + } + + return siblingInfo.siblingIds[siblingInfo.currentIndex - 1]; +} diff --git a/tools/server/webui/src/lib/utils/convert-files-to-extra.ts b/tools/server/webui/src/lib/utils/convert-files-to-extra.ts new file mode 100644 index 0000000000..70c6f772d9 --- /dev/null +++ b/tools/server/webui/src/lib/utils/convert-files-to-extra.ts @@ -0,0 +1,188 @@ +import { convertPDFToImage, convertPDFToText } from './pdf-processing'; +import { isSvgMimeType, svgBase64UrlToPngDataURL } from './svg-to-png'; +import { isWebpMimeType, webpBase64UrlToPngDataURL } from './webp-to-png'; +import { FileTypeCategory } from '$lib/enums/files'; +import { config, settingsStore } from '$lib/stores/settings.svelte'; +import { supportsVision } from '$lib/stores/server.svelte'; +import { getFileTypeCategory } from '$lib/utils/file-type'; +import { readFileAsText, isLikelyTextFile } from './text-files'; +import { toast } from 'svelte-sonner'; + +function readFileAsBase64(file: File): Promise { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + + reader.onload = () => { + // Extract base64 data without the data URL prefix + const dataUrl = reader.result as string; + const base64 = dataUrl.split(',')[1]; + resolve(base64); + }; + + reader.onerror = () => reject(reader.error); + + reader.readAsDataURL(file); + }); +} + +export interface FileProcessingResult { + extras: DatabaseMessageExtra[]; + emptyFiles: string[]; +} + +export async function parseFilesToMessageExtras( + files: ChatUploadedFile[] +): Promise { + const extras: DatabaseMessageExtra[] = []; + const emptyFiles: string[] = []; + + for (const file of files) { + if (getFileTypeCategory(file.type) === FileTypeCategory.IMAGE) { + if (file.preview) { + let base64Url = file.preview; + + if (isSvgMimeType(file.type)) { + try { + base64Url = await svgBase64UrlToPngDataURL(base64Url); + } catch (error) { + console.error('Failed to convert SVG to PNG for database storage:', error); + } + } else if (isWebpMimeType(file.type)) { + try { + base64Url = await webpBase64UrlToPngDataURL(base64Url); + } catch (error) { + console.error('Failed to convert WebP to PNG for database storage:', error); + } + } + + extras.push({ + type: 'imageFile', + name: file.name, + base64Url + }); + } + } else if (getFileTypeCategory(file.type) === FileTypeCategory.AUDIO) { + // Process audio files (MP3 and WAV) + try { + const base64Data = await readFileAsBase64(file.file); + + extras.push({ + type: 'audioFile', + name: file.name, + base64Data: base64Data, + mimeType: file.type + }); + } catch (error) { + console.error(`Failed to process audio file ${file.name}:`, error); + } + } else if (getFileTypeCategory(file.type) === FileTypeCategory.PDF) { + try { + // Always get base64 data for preview functionality + const base64Data = await readFileAsBase64(file.file); + const currentConfig = config(); + const hasVisionSupport = supportsVision(); + + // Force PDF-to-text for non-vision models + let shouldProcessAsImages = Boolean(currentConfig.pdfAsImage) && hasVisionSupport; + + // If user had pdfAsImage enabled but model doesn't support vision, update setting and notify + if (currentConfig.pdfAsImage && !hasVisionSupport) { + console.log('Non-vision model detected: forcing PDF-to-text mode and updating settings'); + + // Update the setting in localStorage + settingsStore.updateConfig('pdfAsImage', false); + + // Show toast notification to user + toast.warning( + 'PDF setting changed: Non-vision model detected, PDFs will be processed as text instead of images.', + { + duration: 5000 + } + ); + + shouldProcessAsImages = false; + } + + if (shouldProcessAsImages) { + // Process PDF as images (only for vision models) + try { + const images = await convertPDFToImage(file.file); + + // Show success toast for PDF image processing + toast.success( + `PDF "${file.name}" processed as ${images.length} images for vision model.`, + { + duration: 3000 + } + ); + + extras.push({ + type: 'pdfFile', + name: file.name, + content: `PDF file with ${images.length} pages`, + images: images, + processedAsImages: true, + base64Data: base64Data + }); + } catch (imageError) { + console.warn( + `Failed to process PDF ${file.name} as images, falling back to text:`, + imageError + ); + + // Fallback to text processing + const content = await convertPDFToText(file.file); + + extras.push({ + type: 'pdfFile', + name: file.name, + content: content, + processedAsImages: false, + base64Data: base64Data + }); + } + } else { + // Process PDF as text (default or forced for non-vision models) + const content = await convertPDFToText(file.file); + + // Show success toast for PDF text processing + toast.success(`PDF "${file.name}" processed as text content.`, { + duration: 3000 + }); + + extras.push({ + type: 'pdfFile', + name: file.name, + content: content, + processedAsImages: false, + base64Data: base64Data + }); + } + } catch (error) { + console.error(`Failed to process PDF file ${file.name}:`, error); + } + } else { + try { + const content = await readFileAsText(file.file); + + // Check if file is empty + if (content.trim() === '') { + console.warn(`File ${file.name} is empty and will be skipped`); + emptyFiles.push(file.name); + } else if (isLikelyTextFile(content)) { + extras.push({ + type: 'textFile', + name: file.name, + content: content + }); + } else { + console.warn(`File ${file.name} appears to be binary and will be skipped`); + } + } catch (error) { + console.error(`Failed to read file ${file.name}:`, error); + } + } + } + + return { extras, emptyFiles }; +} diff --git a/tools/server/webui/src/lib/utils/copy.ts b/tools/server/webui/src/lib/utils/copy.ts new file mode 100644 index 0000000000..16a4bbd45d --- /dev/null +++ b/tools/server/webui/src/lib/utils/copy.ts @@ -0,0 +1,71 @@ +import { toast } from 'svelte-sonner'; + +/** + * Copy text to clipboard with toast notification + * Uses modern clipboard API when available, falls back to legacy method for non-secure contexts + * @param text - Text to copy to clipboard + * @param successMessage - Custom success message (optional) + * @param errorMessage - Custom error message (optional) + * @returns Promise - True if successful, false otherwise + */ +export async function copyToClipboard( + text: string, + successMessage = 'Copied to clipboard', + errorMessage = 'Failed to copy to clipboard' +): Promise { + try { + // Try modern clipboard API first (secure contexts only) + if (navigator.clipboard && navigator.clipboard.writeText) { + await navigator.clipboard.writeText(text); + toast.success(successMessage); + return true; + } + + // Fallback for non-secure contexts + const textArea = document.createElement('textarea'); + textArea.value = text; + textArea.style.position = 'fixed'; + textArea.style.left = '-999999px'; + textArea.style.top = '-999999px'; + document.body.appendChild(textArea); + textArea.focus(); + textArea.select(); + + const successful = document.execCommand('copy'); + document.body.removeChild(textArea); + + if (successful) { + toast.success(successMessage); + return true; + } else { + throw new Error('execCommand failed'); + } + } catch (error) { + console.error('Failed to copy to clipboard:', error); + toast.error(errorMessage); + return false; + } +} + +/** + * Copy code with HTML entity decoding and toast notification + * @param rawCode - Raw code string that may contain HTML entities + * @param successMessage - Custom success message (optional) + * @param errorMessage - Custom error message (optional) + * @returns Promise - True if successful, false otherwise + */ +export async function copyCodeToClipboard( + rawCode: string, + successMessage = 'Code copied to clipboard', + errorMessage = 'Failed to copy code' +): Promise { + // Decode HTML entities + const decodedCode = rawCode + .replace(/&/g, '&') + .replace(/</g, '<') + .replace(/>/g, '>') + .replace(/"/g, '"') + .replace(/'/g, "'"); + + return copyToClipboard(decodedCode, successMessage, errorMessage); +} diff --git a/tools/server/webui/src/lib/utils/file-preview.ts b/tools/server/webui/src/lib/utils/file-preview.ts new file mode 100644 index 0000000000..3f887ec535 --- /dev/null +++ b/tools/server/webui/src/lib/utils/file-preview.ts @@ -0,0 +1,32 @@ +/** + * Formats file size in bytes to human readable format + * @param bytes - File size in bytes + * @returns Formatted file size string + */ +export function formatFileSize(bytes: number): string { + if (bytes === 0) return '0 Bytes'; + + const k = 1024; + const sizes = ['Bytes', 'KB', 'MB', 'GB']; + const i = Math.floor(Math.log(bytes) / Math.log(k)); + + return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]; +} + +/** + * Gets a display label for a file type + * @param fileType - The file type/mime type + * @returns Formatted file type label + */ +export function getFileTypeLabel(fileType: string): string { + return fileType.split('/').pop()?.toUpperCase() || 'FILE'; +} + +/** + * Truncates text content for preview display + * @param content - The text content to truncate + * @returns Truncated content with ellipsis if needed + */ +export function getPreviewText(content: string): string { + return content.length > 150 ? content.substring(0, 150) + '...' : content; +} diff --git a/tools/server/webui/src/lib/utils/file-type.ts b/tools/server/webui/src/lib/utils/file-type.ts new file mode 100644 index 0000000000..ccfc2a3de1 --- /dev/null +++ b/tools/server/webui/src/lib/utils/file-type.ts @@ -0,0 +1,81 @@ +import { + AUDIO_FILE_TYPES, + IMAGE_FILE_TYPES, + PDF_FILE_TYPES, + TEXT_FILE_TYPES +} from '$lib/constants/supported-file-types'; +import { FileTypeCategory } from '$lib/enums/files'; + +export function getFileTypeCategory(mimeType: string): FileTypeCategory | null { + if ( + Object.values(IMAGE_FILE_TYPES).some((type) => + (type.mimeTypes as readonly string[]).includes(mimeType) + ) + ) { + return FileTypeCategory.IMAGE; + } + + if ( + Object.values(AUDIO_FILE_TYPES).some((type) => + (type.mimeTypes as readonly string[]).includes(mimeType) + ) + ) { + return FileTypeCategory.AUDIO; + } + + if ( + Object.values(PDF_FILE_TYPES).some((type) => + (type.mimeTypes as readonly string[]).includes(mimeType) + ) + ) { + return FileTypeCategory.PDF; + } + + if ( + Object.values(TEXT_FILE_TYPES).some((type) => + (type.mimeTypes as readonly string[]).includes(mimeType) + ) + ) { + return FileTypeCategory.TEXT; + } + + return null; +} + +export function getFileTypeByExtension(filename: string): string | null { + const extension = filename.toLowerCase().substring(filename.lastIndexOf('.')); + + for (const [key, type] of Object.entries(IMAGE_FILE_TYPES)) { + if ((type.extensions as readonly string[]).includes(extension)) { + return `${FileTypeCategory.IMAGE}:${key}`; + } + } + + for (const [key, type] of Object.entries(AUDIO_FILE_TYPES)) { + if ((type.extensions as readonly string[]).includes(extension)) { + return `${FileTypeCategory.AUDIO}:${key}`; + } + } + + for (const [key, type] of Object.entries(PDF_FILE_TYPES)) { + if ((type.extensions as readonly string[]).includes(extension)) { + return `${FileTypeCategory.PDF}:${key}`; + } + } + + for (const [key, type] of Object.entries(TEXT_FILE_TYPES)) { + if ((type.extensions as readonly string[]).includes(extension)) { + return `${FileTypeCategory.TEXT}:${key}`; + } + } + + return null; +} + +export function isFileTypeSupported(filename: string, mimeType?: string): boolean { + if (mimeType && getFileTypeCategory(mimeType)) { + return true; + } + + return getFileTypeByExtension(filename) !== null; +} diff --git a/tools/server/webui/src/lib/utils/modality-file-validation.ts b/tools/server/webui/src/lib/utils/modality-file-validation.ts new file mode 100644 index 0000000000..c77bf88c3a --- /dev/null +++ b/tools/server/webui/src/lib/utils/modality-file-validation.ts @@ -0,0 +1,184 @@ +/** + * File validation utilities based on model modalities + * Ensures only compatible file types are processed based on model capabilities + */ + +import { getFileTypeCategory } from '$lib/utils/file-type'; +import { supportsVision, supportsAudio } from '$lib/stores/server.svelte'; +import { + FileExtensionAudio, + FileExtensionImage, + FileExtensionPdf, + FileExtensionText, + MimeTypeAudio, + MimeTypeImage, + MimeTypeApplication, + MimeTypeText, + FileTypeCategory +} from '$lib/enums/files'; + +/** + * Check if a file type is supported by the current model's modalities + * @param filename - The filename to check + * @param mimeType - The MIME type of the file + * @returns true if the file type is supported by the current model + */ +export function isFileTypeSupportedByModel(filename: string, mimeType?: string): boolean { + const category = mimeType ? getFileTypeCategory(mimeType) : null; + + // If we can't determine the category from MIME type, fall back to general support check + if (!category) { + // For unknown types, only allow if they might be text files + // This is a conservative approach for edge cases + return true; // Let the existing isFileTypeSupported handle this + } + + switch (category) { + case FileTypeCategory.TEXT: + // Text files are always supported + return true; + + case FileTypeCategory.PDF: + // PDFs are always supported (will be processed as text for non-vision models) + return true; + + case FileTypeCategory.IMAGE: + // Images require vision support + return supportsVision(); + + case FileTypeCategory.AUDIO: + // Audio files require audio support + return supportsAudio(); + + default: + // Unknown categories - be conservative and allow + return true; + } +} + +/** + * Filter files based on model modalities and return supported/unsupported lists + * @param files - Array of files to filter + * @returns Object with supportedFiles and unsupportedFiles arrays + */ +export function filterFilesByModalities(files: File[]): { + supportedFiles: File[]; + unsupportedFiles: File[]; + modalityReasons: Record; +} { + const supportedFiles: File[] = []; + const unsupportedFiles: File[] = []; + const modalityReasons: Record = {}; + + const hasVision = supportsVision(); + const hasAudio = supportsAudio(); + + for (const file of files) { + const category = getFileTypeCategory(file.type); + let isSupported = true; + let reason = ''; + + switch (category) { + case FileTypeCategory.IMAGE: + if (!hasVision) { + isSupported = false; + reason = 'Images require a vision-capable model'; + } + break; + + case FileTypeCategory.AUDIO: + if (!hasAudio) { + isSupported = false; + reason = 'Audio files require an audio-capable model'; + } + break; + + case FileTypeCategory.TEXT: + case FileTypeCategory.PDF: + // Always supported + break; + + default: + // For unknown types, check if it's a generally supported file type + // This handles edge cases and maintains backward compatibility + break; + } + + if (isSupported) { + supportedFiles.push(file); + } else { + unsupportedFiles.push(file); + modalityReasons[file.name] = reason; + } + } + + return { supportedFiles, unsupportedFiles, modalityReasons }; +} + +/** + * Generate a user-friendly error message for unsupported files + * @param unsupportedFiles - Array of unsupported files + * @param modalityReasons - Reasons why files are unsupported + * @returns Formatted error message + */ +export function generateModalityErrorMessage( + unsupportedFiles: File[], + modalityReasons: Record +): string { + if (unsupportedFiles.length === 0) return ''; + + const hasVision = supportsVision(); + const hasAudio = supportsAudio(); + + let message = ''; + + if (unsupportedFiles.length === 1) { + const file = unsupportedFiles[0]; + const reason = modalityReasons[file.name]; + message = `The file "${file.name}" cannot be uploaded: ${reason}.`; + } else { + const fileNames = unsupportedFiles.map((f) => f.name).join(', '); + message = `The following files cannot be uploaded: ${fileNames}.`; + } + + // Add helpful information about what is supported + const supportedTypes: string[] = ['text files', 'PDFs']; + if (hasVision) supportedTypes.push('images'); + if (hasAudio) supportedTypes.push('audio files'); + + message += ` This model supports: ${supportedTypes.join(', ')}.`; + + return message; +} + +/** + * Generate file input accept string based on current model modalities + * @returns Accept string for HTML file input element + */ +export function generateModalityAwareAcceptString(): string { + const hasVision = supportsVision(); + const hasAudio = supportsAudio(); + + const acceptedExtensions: string[] = []; + const acceptedMimeTypes: string[] = []; + + // Always include text files and PDFs + acceptedExtensions.push(...Object.values(FileExtensionText)); + acceptedMimeTypes.push(...Object.values(MimeTypeText)); + acceptedExtensions.push(...Object.values(FileExtensionPdf)); + acceptedMimeTypes.push(...Object.values(MimeTypeApplication)); + + // Include images only if vision is supported + if (hasVision) { + acceptedExtensions.push(...Object.values(FileExtensionImage)); + acceptedMimeTypes.push(...Object.values(MimeTypeImage)); + } + + // Include audio only if audio is supported + if (hasAudio) { + acceptedExtensions.push(...Object.values(FileExtensionAudio)); + acceptedMimeTypes.push(...Object.values(MimeTypeAudio)); + } + + return [...acceptedExtensions, ...acceptedMimeTypes].join(','); +} diff --git a/tools/server/webui/src/lib/utils/pdf-processing.ts b/tools/server/webui/src/lib/utils/pdf-processing.ts new file mode 100644 index 0000000000..49b0f34bae --- /dev/null +++ b/tools/server/webui/src/lib/utils/pdf-processing.ts @@ -0,0 +1,150 @@ +/** + * PDF processing utilities using PDF.js + * Handles PDF text extraction and image conversion in the browser + */ + +import { browser } from '$app/environment'; +import { MimeTypeApplication, MimeTypeImage } from '$lib/enums/files'; +import * as pdfjs from 'pdfjs-dist'; + +type TextContent = { + items: Array<{ str: string }>; +}; + +if (browser) { + // Import worker as text and create blob URL for inline bundling + import('pdfjs-dist/build/pdf.worker.min.mjs?raw') + .then((workerModule) => { + const workerBlob = new Blob([workerModule.default], { type: 'application/javascript' }); + pdfjs.GlobalWorkerOptions.workerSrc = URL.createObjectURL(workerBlob); + }) + .catch(() => { + console.warn('Failed to load PDF.js worker, PDF processing may not work'); + }); +} + +/** + * Convert a File object to ArrayBuffer for PDF.js processing + * @param file - The PDF file to convert + * @returns Promise resolving to the file's ArrayBuffer + */ +async function getFileAsBuffer(file: File): Promise { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = (event) => { + if (event.target?.result) { + resolve(event.target.result as ArrayBuffer); + } else { + reject(new Error('Failed to read file.')); + } + }; + reader.onerror = () => { + reject(new Error('Failed to read file.')); + }; + reader.readAsArrayBuffer(file); + }); +} + +/** + * Extract text content from a PDF file + * @param file - The PDF file to process + * @returns Promise resolving to the extracted text content + */ +export async function convertPDFToText(file: File): Promise { + if (!browser) { + throw new Error('PDF processing is only available in the browser'); + } + + try { + const buffer = await getFileAsBuffer(file); + const pdf = await pdfjs.getDocument(buffer).promise; + const numPages = pdf.numPages; + + const textContentPromises: Promise[] = []; + + for (let i = 1; i <= numPages; i++) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + textContentPromises.push(pdf.getPage(i).then((page: any) => page.getTextContent())); + } + + const textContents = await Promise.all(textContentPromises); + const textItems = textContents.flatMap((textContent: TextContent) => + textContent.items.map((item) => item.str ?? '') + ); + + return textItems.join('\n'); + } catch (error) { + console.error('Error converting PDF to text:', error); + throw new Error( + `Failed to convert PDF to text: ${error instanceof Error ? error.message : 'Unknown error'}` + ); + } +} + +/** + * Convert PDF pages to PNG images as data URLs + * @param file - The PDF file to convert + * @param scale - Rendering scale factor (default: 1.5) + * @returns Promise resolving to array of PNG data URLs + */ +export async function convertPDFToImage(file: File, scale: number = 1.5): Promise { + if (!browser) { + throw new Error('PDF processing is only available in the browser'); + } + + try { + const buffer = await getFileAsBuffer(file); + const doc = await pdfjs.getDocument(buffer).promise; + const pages: Promise[] = []; + + for (let i = 1; i <= doc.numPages; i++) { + const page = await doc.getPage(i); + const viewport = page.getViewport({ scale }); + const canvas = document.createElement('canvas'); + const ctx = canvas.getContext('2d'); + + canvas.width = viewport.width; + canvas.height = viewport.height; + + if (!ctx) { + throw new Error('Failed to get 2D context from canvas'); + } + + const task = page.render({ + canvasContext: ctx, + viewport: viewport, + canvas: canvas + }); + pages.push( + task.promise.then(() => { + return canvas.toDataURL(MimeTypeImage.PNG); + }) + ); + } + + return await Promise.all(pages); + } catch (error) { + console.error('Error converting PDF to images:', error); + throw new Error( + `Failed to convert PDF to images: ${error instanceof Error ? error.message : 'Unknown error'}` + ); + } +} + +/** + * Check if a file is a PDF based on its MIME type + * @param file - The file to check + * @returns True if the file is a PDF + */ +export function isPdfFile(file: File): boolean { + return file.type === MimeTypeApplication.PDF; +} + +/** + * Check if a MIME type represents a PDF + * @param mimeType - The MIME type to check + * @returns True if the MIME type is application/pdf + */ +export function isApplicationMimeType(mimeType: string): boolean { + return mimeType === MimeTypeApplication.PDF; +} diff --git a/tools/server/webui/src/lib/utils/process-uploaded-files.ts b/tools/server/webui/src/lib/utils/process-uploaded-files.ts new file mode 100644 index 0000000000..3fb0a9d1a9 --- /dev/null +++ b/tools/server/webui/src/lib/utils/process-uploaded-files.ts @@ -0,0 +1,130 @@ +import { isSvgMimeType, svgBase64UrlToPngDataURL } from './svg-to-png'; +import { isTextFileByName } from './text-files'; +import { isWebpMimeType, webpBase64UrlToPngDataURL } from './webp-to-png'; +import { FileTypeCategory } from '$lib/enums/files'; +import { getFileTypeCategory } from '$lib/utils/file-type'; +import { supportsVision } from '$lib/stores/server.svelte'; +import { settingsStore } from '$lib/stores/settings.svelte'; +import { toast } from 'svelte-sonner'; + +/** + * Read a file as a data URL (base64 encoded) + * @param file - The file to read + * @returns Promise resolving to the data URL string + */ +function readFileAsDataURL(file: File): Promise { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => resolve(reader.result as string); + reader.onerror = () => reject(reader.error); + reader.readAsDataURL(file); + }); +} + +/** + * Read a file as UTF-8 text + * @param file - The file to read + * @returns Promise resolving to the text content + */ +function readFileAsUTF8(file: File): Promise { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => resolve(reader.result as string); + reader.onerror = () => reject(reader.error); + reader.readAsText(file); + }); +} + +/** + * Process uploaded files into ChatUploadedFile format with previews and content + * + * This function processes various file types and generates appropriate previews: + * - Images: Base64 data URLs with format normalization (SVG/WebP → PNG) + * - Text files: UTF-8 content extraction + * - PDFs: Metadata only (processed later in conversion pipeline) + * - Audio: Base64 data URLs for preview + * + * @param files - Array of File objects to process + * @returns Promise resolving to array of ChatUploadedFile objects + */ +export async function processFilesToChatUploaded(files: File[]): Promise { + const results: ChatUploadedFile[] = []; + + for (const file of files) { + const id = Date.now().toString() + Math.random().toString(36).substr(2, 9); + const base: ChatUploadedFile = { + id, + name: file.name, + size: file.size, + type: file.type, + file + }; + + try { + if (getFileTypeCategory(file.type) === FileTypeCategory.IMAGE) { + let preview = await readFileAsDataURL(file); + + // Normalize SVG and WebP to PNG in previews + if (isSvgMimeType(file.type)) { + try { + preview = await svgBase64UrlToPngDataURL(preview); + } catch (err) { + console.error('Failed to convert SVG to PNG:', err); + } + } else if (isWebpMimeType(file.type)) { + try { + preview = await webpBase64UrlToPngDataURL(preview); + } catch (err) { + console.error('Failed to convert WebP to PNG:', err); + } + } + + results.push({ ...base, preview }); + } else if ( + getFileTypeCategory(file.type) === FileTypeCategory.TEXT || + isTextFileByName(file.name) + ) { + try { + const textContent = await readFileAsUTF8(file); + results.push({ ...base, textContent }); + } catch (err) { + console.warn('Failed to read text file, adding without content:', err); + results.push(base); + } + } else if (getFileTypeCategory(file.type) === FileTypeCategory.PDF) { + // PDFs handled later when building extras; keep metadata only + results.push(base); + + // Show suggestion toast if vision model is available but PDF as image is disabled + const hasVisionSupport = supportsVision(); + const currentConfig = settingsStore.config; + if (hasVisionSupport && !currentConfig.pdfAsImage) { + toast.info(`You can enable parsing PDF as images with vision models.`, { + duration: 8000, + action: { + label: 'Enable PDF as Images', + onClick: () => { + settingsStore.updateConfig('pdfAsImage', true); + toast.success('PDF parsing as images enabled!', { + duration: 3000 + }); + } + } + }); + } + } else if (getFileTypeCategory(file.type) === FileTypeCategory.AUDIO) { + // Generate preview URL for audio files + const preview = await readFileAsDataURL(file); + results.push({ ...base, preview }); + } else { + // Other files: add as-is + results.push(base); + } + } catch (error) { + console.error('Error processing file', file.name, error); + results.push(base); + } + } + + return results; +} diff --git a/tools/server/webui/src/lib/utils/svg-to-png.ts b/tools/server/webui/src/lib/utils/svg-to-png.ts new file mode 100644 index 0000000000..4ab4efe7b9 --- /dev/null +++ b/tools/server/webui/src/lib/utils/svg-to-png.ts @@ -0,0 +1,71 @@ +import { MimeTypeImage } from '$lib/enums/files'; + +/** + * Convert an SVG base64 data URL to a PNG data URL + * @param base64UrlSvg - The SVG base64 data URL to convert + * @param backgroundColor - Background color for the PNG (default: 'white') + * @returns Promise resolving to PNG data URL + */ +export function svgBase64UrlToPngDataURL( + base64UrlSvg: string, + backgroundColor: string = 'white' +): Promise { + return new Promise((resolve, reject) => { + try { + const img = new Image(); + + img.onload = () => { + const canvas = document.createElement('canvas'); + const ctx = canvas.getContext('2d'); + + if (!ctx) { + reject(new Error('Failed to get 2D canvas context.')); + return; + } + + const targetWidth = img.naturalWidth || 300; + const targetHeight = img.naturalHeight || 300; + + canvas.width = targetWidth; + canvas.height = targetHeight; + + if (backgroundColor) { + ctx.fillStyle = backgroundColor; + ctx.fillRect(0, 0, canvas.width, canvas.height); + } + ctx.drawImage(img, 0, 0, targetWidth, targetHeight); + + resolve(canvas.toDataURL(MimeTypeImage.PNG)); + }; + + img.onerror = () => { + reject(new Error('Failed to load SVG image. Ensure the SVG data is valid.')); + }; + + img.src = base64UrlSvg; + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + const errorMessage = `Error converting SVG to PNG: ${message}`; + console.error(errorMessage, error); + reject(new Error(errorMessage)); + } + }); +} + +/** + * Check if a file is an SVG based on its MIME type + * @param file - The file to check + * @returns True if the file is an SVG + */ +export function isSvgFile(file: File): boolean { + return file.type === MimeTypeImage.SVG; +} + +/** + * Check if a MIME type represents an SVG + * @param mimeType - The MIME type to check + * @returns True if the MIME type is image/svg+xml + */ +export function isSvgMimeType(mimeType: string): boolean { + return mimeType === MimeTypeImage.SVG; +} diff --git a/tools/server/webui/src/lib/utils/text-files.ts b/tools/server/webui/src/lib/utils/text-files.ts new file mode 100644 index 0000000000..496f5c79e4 --- /dev/null +++ b/tools/server/webui/src/lib/utils/text-files.ts @@ -0,0 +1,83 @@ +/** + * Text file processing utilities + * Handles text file detection, reading, and validation + */ + +import { FileExtensionText } from '$lib/enums/files'; + +/** + * Check if a filename indicates a text file based on its extension + * @param filename - The filename to check + * @returns True if the filename has a recognized text file extension + */ +export function isTextFileByName(filename: string): boolean { + const textExtensions = Object.values(FileExtensionText); + + return textExtensions.some((ext: FileExtensionText) => filename.toLowerCase().endsWith(ext)); +} + +/** + * Read a file's content as text + * @param file - The file to read + * @returns Promise resolving to the file's text content + */ +export async function readFileAsText(file: File): Promise { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + + reader.onload = (event) => { + if (event.target?.result !== null && event.target?.result !== undefined) { + resolve(event.target.result as string); + } else { + reject(new Error('Failed to read file')); + } + }; + + reader.onerror = () => reject(new Error('File reading error')); + + reader.readAsText(file); + }); +} + +/** + * Heuristic check to determine if content is likely from a text file + * Detects binary files by counting suspicious characters and null bytes + * @param content - The file content to analyze + * @returns True if the content appears to be text-based + */ +export function isLikelyTextFile(content: string): boolean { + if (!content) return true; + + const sample = content.substring(0, 1000); + + let suspiciousCount = 0; + let nullCount = 0; + + for (let i = 0; i < sample.length; i++) { + const charCode = sample.charCodeAt(i); + + // Count null bytes + if (charCode === 0) { + nullCount++; + suspiciousCount++; + + continue; + } + + // Count suspicious control characters (excluding common ones like tab, newline, carriage return) + if (charCode < 32 && charCode !== 9 && charCode !== 10 && charCode !== 13) { + suspiciousCount++; + } + + // Count replacement characters (indicates encoding issues) + if (charCode === 0xfffd) { + suspiciousCount++; + } + } + + // Reject if too many null bytes or suspicious characters + if (nullCount > 2) return false; + if (suspiciousCount / sample.length > 0.1) return false; + + return true; +} diff --git a/tools/server/webui/src/lib/utils/thinking.ts b/tools/server/webui/src/lib/utils/thinking.ts new file mode 100644 index 0000000000..11ce871231 --- /dev/null +++ b/tools/server/webui/src/lib/utils/thinking.ts @@ -0,0 +1,90 @@ +/** + * Parses thinking content from a message that may contain tags + * Returns an object with thinking content and cleaned message content + * Handles both complete ... blocks and incomplete blocks (streaming) + * @param content - The message content to parse + * @returns An object containing the extracted thinking content and the cleaned message content + */ +export function parseThinkingContent(content: string): { + thinking: string | null; + cleanContent: string; +} { + const incompleteMatch = content.includes('') && !content.includes(''); + + if (incompleteMatch) { + // Remove the entire ... part from clean content + const cleanContent = content.split('')?.[1]?.trim(); + // Extract everything after as thinking content + const thinkingContent = content.split('')?.[1]?.trim(); + + return { + cleanContent, + thinking: thinkingContent + }; + } + + const completeMatch = content.includes(''); + + if (completeMatch) { + return { + thinking: content.split('')?.[0]?.trim(), + cleanContent: content.split('')?.[1]?.trim() + }; + } + + return { + thinking: null, + cleanContent: content + }; +} + +/** + * Checks if content contains an opening tag (for streaming) + * @param content - The message content to check + * @returns True if the content contains an opening tag + */ +export function hasThinkingStart(content: string): boolean { + return content.includes('') || content.includes('<|channel|>analysis'); +} + +/** + * Checks if content contains a closing tag (for streaming) + * @param content - The message content to check + * @returns True if the content contains a closing tag + */ +export function hasThinkingEnd(content: string): boolean { + return content.includes(''); +} + +/** + * Extracts partial thinking content during streaming + * Used when we have but not yet + * @param content - The message content to extract partial thinking from + * @returns An object containing the extracted partial thinking content and the remaining content + */ +export function extractPartialThinking(content: string): { + thinking: string | null; + remainingContent: string; +} { + const startIndex = content.indexOf(''); + if (startIndex === -1) { + return { thinking: null, remainingContent: content }; + } + + const endIndex = content.indexOf(''); + if (endIndex === -1) { + // Still streaming thinking content + const thinkingStart = startIndex + ''.length; + return { + thinking: content.substring(thinkingStart), + remainingContent: content.substring(0, startIndex) + }; + } + + // Complete thinking block found + const parsed = parseThinkingContent(content); + return { + thinking: parsed.thinking, + remainingContent: parsed.cleanContent + }; +} diff --git a/tools/server/webui/src/lib/utils/webp-to-png.ts b/tools/server/webui/src/lib/utils/webp-to-png.ts new file mode 100644 index 0000000000..16e7a79c47 --- /dev/null +++ b/tools/server/webui/src/lib/utils/webp-to-png.ts @@ -0,0 +1,73 @@ +import { FileExtensionImage, MimeTypeImage } from '$lib/enums/files'; + +/** + * Convert a WebP base64 data URL to a PNG data URL + * @param base64UrlWebp - The WebP base64 data URL to convert + * @param backgroundColor - Background color for the PNG (default: 'white') + * @returns Promise resolving to PNG data URL + */ +export function webpBase64UrlToPngDataURL( + base64UrlWebp: string, + backgroundColor: string = 'white' +): Promise { + return new Promise((resolve, reject) => { + try { + const img = new Image(); + + img.onload = () => { + const canvas = document.createElement('canvas'); + const ctx = canvas.getContext('2d'); + + if (!ctx) { + reject(new Error('Failed to get 2D canvas context.')); + return; + } + + const targetWidth = img.naturalWidth || 300; + const targetHeight = img.naturalHeight || 300; + + canvas.width = targetWidth; + canvas.height = targetHeight; + + if (backgroundColor) { + ctx.fillStyle = backgroundColor; + ctx.fillRect(0, 0, canvas.width, canvas.height); + } + ctx.drawImage(img, 0, 0, targetWidth, targetHeight); + + resolve(canvas.toDataURL(MimeTypeImage.PNG)); + }; + + img.onerror = () => { + reject(new Error('Failed to load WebP image. Ensure the WebP data is valid.')); + }; + + img.src = base64UrlWebp; + } catch (error) { + const message = error instanceof Error ? error.message : String(error); + const errorMessage = `Error converting WebP to PNG: ${message}`; + console.error(errorMessage, error); + reject(new Error(errorMessage)); + } + }); +} + +/** + * Check if a file is a WebP based on its MIME type + * @param file - The file to check + * @returns True if the file is a WebP + */ +export function isWebpFile(file: File): boolean { + return ( + file.type === MimeTypeImage.WEBP || file.name.toLowerCase().endsWith(FileExtensionImage.WEBP) + ); +} + +/** + * Check if a MIME type represents a WebP + * @param mimeType - The MIME type to check + * @returns True if the MIME type is image/webp + */ +export function isWebpMimeType(mimeType: string): boolean { + return mimeType === MimeTypeImage.WEBP; +} diff --git a/tools/server/webui/src/main.tsx b/tools/server/webui/src/main.tsx deleted file mode 100644 index 631e96a792..0000000000 --- a/tools/server/webui/src/main.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import { StrictMode } from 'react'; -import { createRoot } from 'react-dom/client'; -import './index.scss'; -import App from './App.tsx'; - -createRoot(document.getElementById('root')!).render( - - - -); diff --git a/tools/server/webui/src/routes/+error.svelte b/tools/server/webui/src/routes/+error.svelte new file mode 100644 index 0000000000..8ec48dc01f --- /dev/null +++ b/tools/server/webui/src/routes/+error.svelte @@ -0,0 +1,70 @@ + + + + Error {status} - WebUI + + +{#if isApiKeyError} + +{:else} + +
+
+
+
+ + + +
+

Error {status}

+

+ {error?.message || 'Something went wrong'} +

+
+ +
+
+{/if} diff --git a/tools/server/webui/src/routes/+layout.svelte b/tools/server/webui/src/routes/+layout.svelte new file mode 100644 index 0000000000..58749b9fe5 --- /dev/null +++ b/tools/server/webui/src/routes/+layout.svelte @@ -0,0 +1,176 @@ + + + + + + + + + + + +
+ + + + + + + + {@render children?.()} + +
+
+ + diff --git a/tools/server/webui/src/routes/+layout.ts b/tools/server/webui/src/routes/+layout.ts new file mode 100644 index 0000000000..2d3c0a037c --- /dev/null +++ b/tools/server/webui/src/routes/+layout.ts @@ -0,0 +1,3 @@ +export const csr = true; +export const prerender = false; +export const ssr = false; diff --git a/tools/server/webui/src/routes/+page.svelte b/tools/server/webui/src/routes/+page.svelte new file mode 100644 index 0000000000..2cd2d5c373 --- /dev/null +++ b/tools/server/webui/src/routes/+page.svelte @@ -0,0 +1,19 @@ + + + + llama.cpp - AI Chat Interface + + + diff --git a/tools/server/webui/src/routes/+page.ts b/tools/server/webui/src/routes/+page.ts new file mode 100644 index 0000000000..a984c00457 --- /dev/null +++ b/tools/server/webui/src/routes/+page.ts @@ -0,0 +1,6 @@ +import type { PageLoad } from './$types'; +import { validateApiKey } from '$lib/utils/api-key-validation'; + +export const load: PageLoad = async ({ fetch }) => { + await validateApiKey(fetch); +}; diff --git a/tools/server/webui/src/routes/chat/[id]/+page.svelte b/tools/server/webui/src/routes/chat/[id]/+page.svelte new file mode 100644 index 0000000000..705c0bd927 --- /dev/null +++ b/tools/server/webui/src/routes/chat/[id]/+page.svelte @@ -0,0 +1,81 @@ + + + + {activeConversation()?.name || 'Chat'} - llama.cpp + + + diff --git a/tools/server/webui/src/routes/chat/[id]/+page.ts b/tools/server/webui/src/routes/chat/[id]/+page.ts new file mode 100644 index 0000000000..a984c00457 --- /dev/null +++ b/tools/server/webui/src/routes/chat/[id]/+page.ts @@ -0,0 +1,6 @@ +import type { PageLoad } from './$types'; +import { validateApiKey } from '$lib/utils/api-key-validation'; + +export const load: PageLoad = async ({ fetch }) => { + await validateApiKey(fetch); +}; diff --git a/tools/server/webui/src/routes/page.svelte.test.ts b/tools/server/webui/src/routes/page.svelte.test.ts new file mode 100644 index 0000000000..d8db7cda1e --- /dev/null +++ b/tools/server/webui/src/routes/page.svelte.test.ts @@ -0,0 +1,11 @@ +import { describe, it } from 'vitest'; +import { render } from 'vitest-browser-svelte'; +import Page from './+page.svelte'; + +describe('/+page.svelte', () => { + it('should render page', async () => { + render(Page); + + // todo - add tests + }); +}); diff --git a/tools/server/webui/src/stories/ChatForm.stories.svelte b/tools/server/webui/src/stories/ChatForm.stories.svelte new file mode 100644 index 0000000000..6a0fc08701 --- /dev/null +++ b/tools/server/webui/src/stories/ChatForm.stories.svelte @@ -0,0 +1,182 @@ + + + { + mockServerProps(mockConfigs.noModalities); + + const textarea = await canvas.findByRole('textbox'); + const submitButton = await canvas.findByRole('button', { name: 'Send' }); + + // Expect the input to be focused after the component is mounted + await expect(textarea).toHaveFocus(); + + // Expect the submit button to be disabled + await expect(submitButton).toBeDisabled(); + + const text = 'What is the meaning of life?'; + + await userEvent.clear(textarea); + await userEvent.type(textarea, text); + + await expect(textarea).toHaveValue(text); + + const fileInput = document.querySelector('input[type="file"]'); + const acceptAttr = fileInput?.getAttribute('accept'); + await expect(fileInput).toHaveAttribute('accept'); + await expect(acceptAttr).not.toContain('image/'); + await expect(acceptAttr).not.toContain('audio/'); + + const fileUploadButton = canvas.getByText('Attach files'); + + await userEvent.click(fileUploadButton); + + const recordButton = canvas.getAllByRole('button', { name: 'Start recording' })[1]; + const imagesButton = document.querySelector('.images-button'); + const audioButton = document.querySelector('.audio-button'); + + await expect(recordButton).toBeDisabled(); + await expect(imagesButton).toHaveAttribute('data-disabled'); + await expect(audioButton).toHaveAttribute('data-disabled'); + }} +/> + + + + { + mockServerProps(mockConfigs.visionOnly); + + // Test initial file input state (should accept images but not audio) + const fileInput = document.querySelector('input[type="file"]'); + const acceptAttr = fileInput?.getAttribute('accept'); + console.log('Vision modality accept attr:', acceptAttr); + + const fileUploadButton = canvas.getByText('Attach files'); + await userEvent.click(fileUploadButton); + + // Test that record button is disabled (no audio support) + const recordButton = canvas.getAllByRole('button', { name: 'Start recording' })[1]; + await expect(recordButton).toBeDisabled(); + + // Test that Images button is enabled (vision support) + const imagesButton = document.querySelector('.images-button'); + await expect(imagesButton).not.toHaveAttribute('data-disabled'); + + // Test that Audio button is disabled (no audio support) + const audioButton = document.querySelector('.audio-button'); + await expect(audioButton).toHaveAttribute('data-disabled'); + + // Fix for dropdown menu side effect + const body = document.querySelector('body'); + if (body) body.style.pointerEvents = 'all'; + + console.log('✅ Vision modality: Images enabled, Audio/Recording disabled'); + }} +/> + + { + mockServerProps(mockConfigs.audioOnly); + + // Test initial file input state (should accept audio but not images) + const fileInput = document.querySelector('input[type="file"]'); + const acceptAttr = fileInput?.getAttribute('accept'); + console.log('Audio modality accept attr:', acceptAttr); + + const fileUploadButton = canvas.getByText('Attach files'); + await userEvent.click(fileUploadButton); + + // Test that record button is enabled (audio support) + const recordButton = canvas.getAllByRole('button', { name: 'Start recording' })[1]; + await expect(recordButton).not.toBeDisabled(); + + // Test that Images button is disabled (no vision support) + const imagesButton = document.querySelector('.images-button'); + await expect(imagesButton).toHaveAttribute('data-disabled'); + + // Test that Audio button is enabled (audio support) + const audioButton = document.querySelector('.audio-button'); + await expect(audioButton).not.toHaveAttribute('data-disabled'); + + // Fix for dropdown menu side effect + const body = document.querySelector('body'); + if (body) body.style.pointerEvents = 'all'; + + console.log('✅ Audio modality: Audio/Recording enabled, Images disabled'); + }} +/> + + { + mockServerProps(mockConfigs.bothModalities); + + const jpgAttachment = canvas.getByAltText('1.jpg'); + const svgAttachment = canvas.getByAltText('hf-logo.svg'); + const pdfFileExtension = canvas.getByText('PDF'); + const pdfAttachment = canvas.getByText('example.pdf'); + const pdfSize = canvas.getByText('342.82 KB'); + + await expect(jpgAttachment).toBeInTheDocument(); + await expect(jpgAttachment).toHaveAttribute('src', jpgAsset); + + await expect(svgAttachment).toBeInTheDocument(); + await expect(svgAttachment).toHaveAttribute('src', svgAsset); + + await expect(pdfFileExtension).toBeInTheDocument(); + await expect(pdfAttachment).toBeInTheDocument(); + await expect(pdfSize).toBeInTheDocument(); + }} +/> diff --git a/tools/server/webui/src/stories/ChatMessage.stories.svelte b/tools/server/webui/src/stories/ChatMessage.stories.svelte new file mode 100644 index 0000000000..f9d7d5358c --- /dev/null +++ b/tools/server/webui/src/stories/ChatMessage.stories.svelte @@ -0,0 +1,146 @@ + + + + + + + { + // Phase 1: Stream reasoning content in chunks + let reasoningText = + 'I need to think about this carefully. Let me break down the problem:\n\n1. The user is asking for help with something complex\n2. I should provide a thorough and helpful response\n3. I need to consider multiple approaches\n4. The best solution would be to explain step by step\n\nThis approach will ensure clarity and understanding.'; + + let reasoningChunk = 'I'; + let i = 0; + while (i < reasoningText.length) { + const chunkSize = Math.floor(Math.random() * 5) + 3; // Random 3-7 characters + const chunk = reasoningText.slice(i, i + chunkSize); + reasoningChunk += chunk; + + // Update the reactive state directly + streamingMessage.thinking = reasoningChunk; + + i += chunkSize; + await new Promise((resolve) => setTimeout(resolve, 50)); + } + + const regularText = + "Based on my analysis, here's the solution:\n\n**Step 1:** First, we need to understand the requirements clearly.\n\n**Step 2:** Then we can implement the solution systematically.\n\n**Step 3:** Finally, we test and validate the results.\n\nThis approach ensures we cover all aspects of the problem effectively."; + + let contentChunk = ''; + i = 0; + + while (i < regularText.length) { + const chunkSize = Math.floor(Math.random() * 5) + 3; // Random 3-7 characters + const chunk = regularText.slice(i, i + chunkSize); + contentChunk += chunk; + + // Update the reactive state directly + streamingMessage.content = contentChunk; + + i += chunkSize; + await new Promise((resolve) => setTimeout(resolve, 50)); + } + + streamingMessage.timestamp = Date.now(); + }} +> +
+ +
+
+ + { + // Import the chat store to simulate loading state + const { chatStore } = await import('$lib/stores/chat.svelte'); + + // Set loading state to true to trigger the processing UI + chatStore.isLoading = true; + + // Simulate the processing state hook behavior + // This will show the "Generating..." text and parameter details + await new Promise(resolve => setTimeout(resolve, 100)); + }} +/> diff --git a/tools/server/webui/src/stories/ChatSettingsDialog.stories.svelte b/tools/server/webui/src/stories/ChatSettingsDialog.stories.svelte new file mode 100644 index 0000000000..1e53f70708 --- /dev/null +++ b/tools/server/webui/src/stories/ChatSettingsDialog.stories.svelte @@ -0,0 +1,26 @@ + + + + + diff --git a/tools/server/webui/src/stories/ChatSidebar.stories.svelte b/tools/server/webui/src/stories/ChatSidebar.stories.svelte new file mode 100644 index 0000000000..1b1754f9d3 --- /dev/null +++ b/tools/server/webui/src/stories/ChatSidebar.stories.svelte @@ -0,0 +1,97 @@ + + + { + const { chatStore } = await import('$lib/stores/chat.svelte'); + + waitFor(() => setTimeout(() => { + chatStore.conversations = mockConversations; + }, 0)); + }} +> +
+ +
+
+ + { + const { chatStore } = await import('$lib/stores/chat.svelte'); + + waitFor(() => setTimeout(() => { + chatStore.conversations = mockConversations; + }, 0)); + + const searchTrigger = screen.getByText('Search conversations'); + userEvent.click(searchTrigger); + }} +> +
+ +
+
+ + { + // Mock empty conversations store + const { chatStore } = await import('$lib/stores/chat.svelte'); + chatStore.conversations = []; + }} +> +
+ +
+
diff --git a/tools/server/webui/src/stories/Introduction.mdx b/tools/server/webui/src/stories/Introduction.mdx new file mode 100644 index 0000000000..19d0b28daa --- /dev/null +++ b/tools/server/webui/src/stories/Introduction.mdx @@ -0,0 +1,44 @@ +import { Meta } from '@storybook/addon-docs/blocks'; + + + +# llama.cpp Web UI + +Welcome to the **llama.cpp Web UI** component library! This Storybook showcases the components used in the modern web interface for the llama.cpp server. + +## 🚀 About This Project + +WebUI is a modern web interface for the llama.cpp server, built with SvelteKit and ShadCN UI. Features include: + +- **Real-time chat conversations** with AI assistants +- **Multi-conversation management** with persistent storage +- **Advanced parameter tuning** for model behavior +- **File upload support** for multimodal interactions +- **Responsive design** that works on desktop and mobile + +## 🎨 Design System + +The UI is built using: + +- **SvelteKit** - Modern web framework with excellent performance +- **Tailwind CSS** - Utility-first CSS framework for rapid styling +- **ShadCN/UI** - High-quality, accessible component library +- **Lucide Icons** - Beautiful, consistent icon set + +## 🔧 Development + +This Storybook serves as both documentation and a development environment for the UI components. Each story demonstrates: + +- **Component variations** - Different states and configurations +- **Interactive examples** - Live components you can interact with +- **Usage patterns** - How components work together +- **Styling consistency** - Unified design language + +## 🚀 Getting Started + +To explore the components: + +1. **Browse the sidebar** to see all available components +2. **Click on stories** to see different component states +3. **Use the controls panel** to interact with component props +4. **Check the docs tab** for detailed component information diff --git a/tools/server/webui/src/stories/MarkdownContent.stories.svelte b/tools/server/webui/src/stories/MarkdownContent.stories.svelte new file mode 100644 index 0000000000..c8294ba0d9 --- /dev/null +++ b/tools/server/webui/src/stories/MarkdownContent.stories.svelte @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + { + const { expect } = await import('storybook/internal/test'); + + // Wait for component to render + await new Promise(resolve => setTimeout(resolve, 100)); + + // Find all links in the rendered content + const links = canvasElement.querySelectorAll('a[href]'); + + // Test that we have the expected number of links + expect(links.length).toBeGreaterThan(0); + + // Test each link for proper attributes + links.forEach((link) => { + const href = link.getAttribute('href'); + + // Test that external links have proper security attributes + if (href && (href.startsWith('http://') || href.startsWith('https://'))) { + expect(link.getAttribute('target')).toBe('_blank'); + expect(link.getAttribute('rel')).toBe('noopener noreferrer'); + } + }); + + // Test specific links exist + const hugginFaceLink = Array.from(links).find(link => + link.getAttribute('href') === 'https://huggingface.co' + ); + expect(hugginFaceLink).toBeTruthy(); + expect(hugginFaceLink?.textContent).toBe('Hugging Face Homepage'); + + const githubLink = Array.from(links).find(link => + link.getAttribute('href') === 'https://github.com/ggml-org/llama.cpp' + ); + expect(githubLink).toBeTruthy(); + expect(githubLink?.textContent).toBe('GitHub Repository'); + + const openaiLink = Array.from(links).find(link => + link.getAttribute('href') === 'https://openai.com' + ); + expect(openaiLink).toBeTruthy(); + expect(openaiLink?.textContent).toBe('OpenAI Website'); + + const googleLink = Array.from(links).find(link => + link.getAttribute('href') === 'https://www.google.com' + ); + expect(googleLink).toBeTruthy(); + expect(googleLink?.textContent).toBe('Google Search'); + + // Test inline links (auto-linked URLs) + const exampleLink = Array.from(links).find(link => + link.getAttribute('href') === 'https://example.com' + ); + expect(exampleLink).toBeTruthy(); + + const pythonDocsLink = Array.from(links).find(link => + link.getAttribute('href') === 'https://docs.python.org' + ); + expect(pythonDocsLink).toBeTruthy(); + + console.log(`✅ URL Links test passed - Found ${links.length} links with proper attributes`); + }} +/> diff --git a/tools/server/webui/src/stories/fixtures/ai-tutorial.ts b/tools/server/webui/src/stories/fixtures/ai-tutorial.ts new file mode 100644 index 0000000000..b3b1c24835 --- /dev/null +++ b/tools/server/webui/src/stories/fixtures/ai-tutorial.ts @@ -0,0 +1,164 @@ +// AI Assistant Tutorial Response +export const AI_TUTORIAL_MD = String.raw` +# Building a Modern Chat Application with SvelteKit + +I'll help you create a **production-ready chat application** using SvelteKit, TypeScript, and WebSockets. This implementation includes real-time messaging, user authentication, and message persistence. + +## 🚀 Quick Start + +First, let's set up the project: + +${'```'}bash +npm create svelte@latest chat-app +cd chat-app +npm install +npm install socket.io socket.io-client +npm install @prisma/client prisma +npm run dev +${'```'} + +## 📁 Project Structure + +${'```'} +chat-app/ +├── src/ +│ ├── routes/ +│ │ ├── +layout.svelte +│ │ ├── +page.svelte +│ │ └── api/ +│ │ └── socket/+server.ts +│ ├── lib/ +│ │ ├── components/ +│ │ │ ├── ChatMessage.svelte +│ │ │ └── ChatInput.svelte +│ │ └── stores/ +│ │ └── chat.ts +│ └── app.html +├── prisma/ +│ └── schema.prisma +└── package.json +${'```'} + +## 💻 Implementation + +### WebSocket Server + +${'```'}typescript +// src/lib/server/socket.ts +import { Server } from 'socket.io'; +import type { ViteDevServer } from 'vite'; + +export function initializeSocketIO(server: ViteDevServer) { + const io = new Server(server.httpServer || server, { + cors: { + origin: process.env.ORIGIN || 'http://localhost:5173', + credentials: true + } + }); + + io.on('connection', (socket) => { + console.log('User connected:', socket.id); + + socket.on('message', async (data) => { + // Broadcast to all clients + io.emit('new-message', { + id: crypto.randomUUID(), + userId: socket.id, + content: data.content, + timestamp: new Date().toISOString() + }); + }); + + socket.on('disconnect', () => { + console.log('User disconnected:', socket.id); + }); + }); + + return io; +} +${'```'} + +### Client Store + +${'```'}typescript +// src/lib/stores/chat.ts +import { writable } from 'svelte/store'; +import io from 'socket.io-client'; + +export interface Message { + id: string; + userId: string; + content: string; + timestamp: string; +} + +function createChatStore() { + const { subscribe, update } = writable([]); + let socket: ReturnType; + + return { + subscribe, + connect: () => { + socket = io('http://localhost:5173'); + + socket.on('new-message', (message: Message) => { + update(messages => [...messages, message]); + }); + }, + sendMessage: (content: string) => { + if (socket && content.trim()) { + socket.emit('message', { content }); + } + } + }; +} + +export const chatStore = createChatStore(); +${'```'} + +## 🎯 Key Features + +✅ **Real-time messaging** with WebSockets +✅ **Message persistence** using Prisma + PostgreSQL +✅ **Type-safe** with TypeScript +✅ **Responsive UI** for all devices +✅ **Auto-reconnection** on connection loss + +## 📊 Performance Metrics + +| Metric | Value | +|--------|-------| +| **Message Latency** | < 50ms | +| **Concurrent Users** | 10,000+ | +| **Messages/Second** | 5,000+ | +| **Uptime** | 99.9% | + +## 🔧 Configuration + +### Environment Variables + +${'```'}env +DATABASE_URL="postgresql://user:password@localhost:5432/chat" +JWT_SECRET="your-secret-key" +REDIS_URL="redis://localhost:6379" +${'```'} + +## 🚢 Deployment + +Deploy to production using Docker: + +${'```'}dockerfile +FROM node:20-alpine +WORKDIR /app +COPY package*.json ./ +RUN npm ci --only=production +COPY . . +RUN npm run build +EXPOSE 3000 +CMD ["node", "build"] +${'```'} + +--- + +*Need help? Check the [documentation](https://kit.svelte.dev) or [open an issue](https://github.com/sveltejs/kit/issues)* +`; diff --git a/tools/server/webui/src/stories/fixtures/api-docs.ts b/tools/server/webui/src/stories/fixtures/api-docs.ts new file mode 100644 index 0000000000..7b499956f8 --- /dev/null +++ b/tools/server/webui/src/stories/fixtures/api-docs.ts @@ -0,0 +1,160 @@ +// API Documentation +export const API_DOCS_MD = String.raw` +# REST API Documentation + +## 🔐 Authentication + +All API requests require authentication using **Bearer tokens**. Include your API key in the Authorization header: + +${'```'}http +GET /api/v1/users +Host: api.example.com +Authorization: Bearer YOUR_API_KEY +Content-Type: application/json +${'```'} + +## 📍 Endpoints + +### Users API + +#### **GET** /api/v1/users + +Retrieve a paginated list of users. + +**Query Parameters:** + +| Parameter | Type | Default | Description | +|-----------|------|---------|-------------| +| page | integer | 1 | Page number | +| limit | integer | 20 | Items per page | +| sort | string | "created_at" | Sort field | +| order | string | "desc" | Sort order | + +**Response:** 200 OK + +${'```'}json +{ + "data": [ + { + "id": "usr_1234567890", + "email": "user@example.com", + "name": "John Doe", + "role": "admin", + "created_at": "2024-01-15T10:30:00Z" + } + ], + "pagination": { + "page": 1, + "limit": 20, + "total": 156, + "pages": 8 + } +} +${'```'} + +#### **POST** /api/v1/users + +Create a new user account. + +**Request Body:** + +${'```'}json +{ + "email": "newuser@example.com", + "password": "SecurePassword123!", + "name": "Jane Smith", + "role": "user" +} +${'```'} + +**Response:** 201 Created + +${'```'}json +{ + "id": "usr_9876543210", + "email": "newuser@example.com", + "name": "Jane Smith", + "role": "user", + "created_at": "2024-01-21T09:15:00Z" +} +${'```'} + +### Error Responses + +The API returns errors in a consistent format: + +${'```'}json +{ + "error": { + "code": "VALIDATION_ERROR", + "message": "Invalid request parameters", + "details": [ + { + "field": "email", + "message": "Email format is invalid" + } + ] + } +} +${'```'} + +### Rate Limiting + +| Tier | Requests/Hour | Burst | +|------|--------------|-------| +| **Free** | 1,000 | 100 | +| **Pro** | 10,000 | 500 | +| **Enterprise** | Unlimited | - | + +**Headers:** +- X-RateLimit-Limit +- X-RateLimit-Remaining +- X-RateLimit-Reset + +### Webhooks + +Configure webhooks to receive real-time events: + +${'```'}javascript +// Webhook payload +{ + "event": "user.created", + "timestamp": "2024-01-21T09:15:00Z", + "data": { + "id": "usr_9876543210", + "email": "newuser@example.com" + }, + "signature": "sha256=abcd1234..." +} +${'```'} + +### SDK Examples + +**JavaScript/TypeScript:** + +${'```'}typescript +import { ApiClient } from '@example/api-sdk'; + +const client = new ApiClient({ + apiKey: process.env.API_KEY +}); + +const users = await client.users.list({ + page: 1, + limit: 20 +}); +${'```'} + +**Python:** + +${'```'}python +from example_api import Client + +client = Client(api_key=os.environ['API_KEY']) +users = client.users.list(page=1, limit=20) +${'```'} + +--- + +📚 [Full API Reference](https://api.example.com/docs) | 💬 [Support](https://support.example.com) +`; diff --git a/tools/server/webui/src/stories/fixtures/assets/1.jpg b/tools/server/webui/src/stories/fixtures/assets/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8348e38780de3332ba2e1d39fdb81fd8bba92389 GIT binary patch literal 44891 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 literal 0 HcmV?d00001 diff --git a/tools/server/webui/src/stories/fixtures/assets/beautiful-flowers-lotus.webp b/tools/server/webui/src/stories/fixtures/assets/beautiful-flowers-lotus.webp new file mode 100644 index 0000000000000000000000000000000000000000..6efcffc3b82b16b3cb3408d3782c6ac114ee7679 GIT binary patch literal 817630 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
Kze1mj0<9FyqU&ZiWaW`+{IotL?4CG62=- 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

}8&o)s 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�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 z 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

    -ONemB?!Gp(q`mpj@@zpa-HQzi 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�<(dvB(Oik{H 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%0AbEXc_am2?UK* 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 literal 0 HcmV?d00001 diff --git a/tools/server/webui/src/stories/fixtures/assets/hf-logo.svg b/tools/server/webui/src/stories/fixtures/assets/hf-logo.svg new file mode 100644 index 0000000000..d55ea22a24 --- /dev/null +++ b/tools/server/webui/src/stories/fixtures/assets/hf-logo.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/tools/server/webui/src/stories/fixtures/blog-post.ts b/tools/server/webui/src/stories/fixtures/blog-post.ts new file mode 100644 index 0000000000..3eb2ed7585 --- /dev/null +++ b/tools/server/webui/src/stories/fixtures/blog-post.ts @@ -0,0 +1,125 @@ +// Blog Post Content +export const BLOG_POST_MD = String.raw` +# Understanding Rust's Ownership System + +*Published on March 15, 2024 • 8 min read* + +Rust's ownership system is one of its most distinctive features, enabling memory safety without garbage collection. In this post, we'll explore how ownership works and why it's revolutionary for systems programming. + +## What is Ownership? + +Ownership is a set of rules that governs how Rust manages memory. These rules are checked at compile time, ensuring memory safety without runtime overhead. + +### The Three Rules of Ownership + +1. **Each value has a single owner** +2. **There can only be one owner at a time** +3. **When the owner goes out of scope, the value is dropped** + +## Memory Management Without GC + +Traditional approaches to memory management: + +- **Manual management** (C/C++): Error-prone, leads to bugs +- **Garbage collection** (Java, Python): Runtime overhead +- **Ownership** (Rust): Compile-time safety, zero runtime cost + +## Basic Examples + +### Variable Scope + +${'```'}rust +fn main() { + let s = String::from("hello"); // s comes into scope + + // s is valid here + println!("{}", s); + +} // s goes out of scope and is dropped +${'```'} + +### Move Semantics + +${'```'}rust +fn main() { + let s1 = String::from("hello"); + let s2 = s1; // s1 is moved to s2 + + // println!("{}", s1); // ❌ ERROR: s1 is no longer valid + println!("{}", s2); // ✅ OK: s2 owns the string +} +${'```'} + +## Borrowing and References + +Instead of transferring ownership, you can **borrow** values: + +### Immutable References + +${'```'}rust +fn calculate_length(s: &String) -> usize { + s.len() // s is a reference, doesn't own the String +} + +fn main() { + let s1 = String::from("hello"); + let len = calculate_length(&s1); // Borrow s1 + println!("Length of '{}' is {}", s1, len); // s1 still valid +} +${'```'} + +### Mutable References + +${'```'}rust +fn main() { + let mut s = String::from("hello"); + + let r1 = &mut s; + r1.push_str(", world"); + println!("{}", r1); + + // let r2 = &mut s; // ❌ ERROR: cannot borrow twice +} +${'```'} + +## Common Pitfalls + +### Dangling References + +${'```'}rust +fn dangle() -> &String { // ❌ ERROR: missing lifetime specifier + let s = String::from("hello"); + &s // s will be dropped, leaving a dangling reference +} +${'```'} + +### ✅ Solution + +${'```'}rust +fn no_dangle() -> String { + let s = String::from("hello"); + s // Ownership is moved out +} +${'```'} + +## Benefits + +- ✅ **No null pointer dereferences** +- ✅ **No data races** +- ✅ **No use-after-free** +- ✅ **No memory leaks** + +## Conclusion + +Rust's ownership system eliminates entire classes of bugs at compile time. While it has a learning curve, the benefits in safety and performance are worth it. + +## Further Reading + +- [The Rust Book - Ownership](https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html) +- [Rust by Example - Ownership](https://doc.rust-lang.org/rust-by-example/scope/move.html) +- [Rustlings Exercises](https://github.com/rust-lang/rustlings) + +--- + +*Questions? Reach out on [Twitter](https://twitter.com/rustlang) or join the [Rust Discord](https://discord.gg/rust-lang)* +`; diff --git a/tools/server/webui/src/stories/fixtures/data-analysis.ts b/tools/server/webui/src/stories/fixtures/data-analysis.ts new file mode 100644 index 0000000000..6fec32dad6 --- /dev/null +++ b/tools/server/webui/src/stories/fixtures/data-analysis.ts @@ -0,0 +1,124 @@ +// Data Analysis Report +export const DATA_ANALYSIS_MD = String.raw` +# Q4 2024 Business Analytics Report + +*Executive Summary • Generated on January 15, 2025* + +## 📊 Key Performance Indicators + +${'```'} +Daily Active Users (DAU): 1.2M (+65% YoY) +Monthly Active Users (MAU): 4.5M (+48% YoY) +User Retention (Day 30): 68% (+12pp YoY) +Average Session Duration: 24min (+35% YoY) +${'```'} + +## 🎯 Product Performance + +### Feature Adoption Rates + +1. **AI Assistant**: 78% of users (↑ from 45%) +2. **Collaboration Tools**: 62% of users (↑ from 38%) +3. **Analytics Dashboard**: 54% of users (↑ from 31%) +4. **Mobile App**: 41% of users (↑ from 22%) + +### Customer Satisfaction + +| Metric | Q4 2024 | Q3 2024 | Change | +|--------|---------|---------|--------| +| **NPS Score** | 72 | 68 | +4 | +| **CSAT** | 4.6/5 | 4.4/5 | +0.2 | +| **Support Tickets** | 2,340 | 2,890 | -19% | +| **Resolution Time** | 4.2h | 5.1h | -18% | + +## 💰 Revenue Metrics + +### Monthly Recurring Revenue (MRR) + +- **Current MRR**: $2.8M (+42% YoY) +- **New MRR**: $340K +- **Expansion MRR**: $180K +- **Churned MRR**: $95K +- **Net New MRR**: $425K + +### Customer Acquisition + +${'```'} +Cost per Acquisition (CAC): $127 (-23% YoY) +Customer Lifetime Value: $1,840 (+31% YoY) +LTV:CAC Ratio: 14.5:1 +Payback Period: 3.2 months +${'```'} + +## 🌍 Geographic Performance + +### Revenue by Region + +1. **North America**: 45% ($1.26M) +2. **Europe**: 32% ($896K) +3. **Asia-Pacific**: 18% ($504K) +4. **Other**: 5% ($140K) + +### Growth Opportunities + +- **APAC**: 89% YoY growth potential +- **Latin America**: Emerging market entry +- **Middle East**: Enterprise expansion + +## 📱 Channel Performance + +### Traffic Sources + +| Channel | Sessions | Conversion | Revenue | +|---------|----------|------------|---------| +| **Organic Search** | 45% | 3.2% | $1.1M | +| **Direct** | 28% | 4.1% | $850K | +| **Social Media** | 15% | 2.8% | $420K | +| **Paid Ads** | 12% | 5.5% | $430K | + +### Marketing ROI + +- **Content Marketing**: 340% ROI +- **Email Campaigns**: 280% ROI +- **Social Media**: 190% ROI +- **Paid Search**: 220% ROI + +## 🔍 User Behavior Analysis + +### Session Patterns + +- **Peak Hours**: 9-11 AM, 2-4 PM EST +- **Mobile Usage**: 67% of sessions +- **Average Pages/Session**: 4.8 +- **Bounce Rate**: 23% (↓ from 31%) + +### Feature Usage Heatmap + +Most used features in order: +1. Dashboard (89% of users) +2. Search (76% of users) +3. Reports (64% of users) +4. Settings (45% of users) +5. Integrations (32% of users) + +## 💡 Recommendations + +1. **Invest** in AI capabilities (+$2M budget) +2. **Expand** sales team in APAC region +3. **Improve** onboarding to reduce churn +4. **Launch** enterprise security features + +## Appendix + +### Methodology + +Data collected from: +- Internal analytics (Amplitude) +- Customer surveys (n=2,450) +- Financial systems (NetSuite) +- Market research (Gartner) + +--- + +*Report prepared by Data Analytics Team • [View Interactive Dashboard](https://analytics.example.com)* +`; diff --git a/tools/server/webui/src/stories/fixtures/empty.ts b/tools/server/webui/src/stories/fixtures/empty.ts new file mode 100644 index 0000000000..05286e7a78 --- /dev/null +++ b/tools/server/webui/src/stories/fixtures/empty.ts @@ -0,0 +1,2 @@ +// Empty state +export const EMPTY_MD = ''; diff --git a/tools/server/webui/src/stories/fixtures/math-formulas.ts b/tools/server/webui/src/stories/fixtures/math-formulas.ts new file mode 100644 index 0000000000..a4e9ab0ed8 --- /dev/null +++ b/tools/server/webui/src/stories/fixtures/math-formulas.ts @@ -0,0 +1,156 @@ +// Math Formulas Content +export const MATH_FORMULAS_MD = String.raw` +# Mathematical Formulas and Expressions + +This document demonstrates various mathematical notation and formulas that can be rendered using LaTeX syntax in markdown. + +## Basic Arithmetic + +### Addition and Summation +$$\sum_{i=1}^{n} i = \frac{n(n+1)}{2}$$ + +## Algebra + +### Quadratic Formula +The solutions to $ax^2 + bx + c = 0$ are: +$$x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$$ + +### Binomial Theorem +$$(x + y)^n = \sum_{k=0}^{n} \binom{n}{k} x^{n-k} y^k$$ + +## Calculus + +### Derivatives +The derivative of $f(x) = x^n$ is: +$$f'(x) = nx^{n-1}$$ + +### Integration +$$\int_a^b f(x) \, dx = F(b) - F(a)$$ + +### Fundamental Theorem of Calculus +$$\frac{d}{dx} \int_a^x f(t) \, dt = f(x)$$ + +## Linear Algebra + +### Matrix Multiplication +If $A$ is an $m \times n$ matrix and $B$ is an $n \times p$ matrix, then: +$$C_{ij} = \sum_{k=1}^{n} A_{ik} B_{kj}$$ + +### Eigenvalues and Eigenvectors +For a square matrix $A$, if $Av = \lambda v$ for some non-zero vector $v$, then: +- $\lambda$ is an eigenvalue +- $v$ is an eigenvector + +## Statistics and Probability + +### Normal Distribution +The probability density function is: +$$f(x) = \frac{1}{\sigma\sqrt{2\pi}} e^{-\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2}$$ + +### Bayes' Theorem +$$P(A|B) = \frac{P(B|A) \cdot P(A)}{P(B)}$$ + +### Central Limit Theorem +For large $n$, the sample mean $\bar{X}$ is approximately: +$$\bar{X} \sim N\left(\mu, \frac{\sigma^2}{n}\right)$$ + +## Trigonometry + +### Pythagorean Identity +$$\sin^2\theta + \cos^2\theta = 1$$ + +### Euler's Formula +$$e^{i\theta} = \cos\theta + i\sin\theta$$ + +### Taylor Series for Sine +$$\sin x = \sum_{n=0}^{\infty} \frac{(-1)^n}{(2n+1)!} x^{2n+1} = x - \frac{x^3}{3!} + \frac{x^5}{5!} - \frac{x^7}{7!} + \cdots$$ + +## Complex Analysis + +### Complex Numbers +A complex number can be written as: +$$z = a + bi = r e^{i\theta}$$ + +where $r = |z| = \sqrt{a^2 + b^2}$ and $\theta = \arg(z)$ + +### Cauchy-Riemann Equations +For a function $f(z) = u(x,y) + iv(x,y)$ to be analytic: +$$\frac{\partial u}{\partial x} = \frac{\partial v}{\partial y}, \quad \frac{\partial u}{\partial y} = -\frac{\partial v}{\partial x}$$ + +## Differential Equations + +### First-order Linear ODE +$$\frac{dy}{dx} + P(x)y = Q(x)$$ + +Solution: $y = e^{-\int P(x)dx}\left[\int Q(x)e^{\int P(x)dx}dx + C\right]$ + +### Heat Equation +$$\frac{\partial u}{\partial t} = \alpha \frac{\partial^2 u}{\partial x^2}$$ + +## Number Theory + +### Prime Number Theorem +$$\pi(x) \sim \frac{x}{\ln x}$$ + +where $\pi(x)$ is the number of primes less than or equal to $x$. + +### Fermat's Last Theorem +For $n > 2$, there are no positive integers $a$, $b$, and $c$ such that: +$$a^n + b^n = c^n$$ + +## Set Theory + +### De Morgan's Laws +$$\overline{A \cup B} = \overline{A} \cap \overline{B}$$ +$$\overline{A \cap B} = \overline{A} \cup \overline{B}$$ + +## Advanced Topics + +### Riemann Zeta Function +$$\zeta(s) = \sum_{n=1}^{\infty} \frac{1}{n^s} = \prod_{p \text{ prime}} \frac{1}{1-p^{-s}}$$ + +### Maxwell's Equations +$$\nabla \cdot \mathbf{E} = \frac{\rho}{\epsilon_0}$$ +$$\nabla \cdot \mathbf{B} = 0$$ +$$\nabla \times \mathbf{E} = -\frac{\partial \mathbf{B}}{\partial t}$$ +$$\nabla \times \mathbf{B} = \mu_0\mathbf{J} + \mu_0\epsilon_0\frac{\partial \mathbf{E}}{\partial t}$$ + +### Schrödinger Equation +$$i\hbar\frac{\partial}{\partial t}\Psi(\mathbf{r},t) = \hat{H}\Psi(\mathbf{r},t)$$ + +## Inline Math Examples + +Here are some inline mathematical expressions: + +- The golden ratio: $\phi = \frac{1 + \sqrt{5}}{2} \approx 1.618$ +- Euler's number: $e = \lim_{n \to \infty} \left(1 + \frac{1}{n}\right)^n$ +- Pi: $\pi = 4 \sum_{n=0}^{\infty} \frac{(-1)^n}{2n+1}$ +- Square root of 2: $\sqrt{2} = 1.41421356...$ + +## Fractions and Radicals + +Complex fraction: $\frac{\frac{a}{b} + \frac{c}{d}}{\frac{e}{f} - \frac{g}{h}}$ + +Nested radicals: $\sqrt{2 + \sqrt{3 + \sqrt{4 + \sqrt{5}}}}$ + +## Summations and Products + +### Geometric Series +$$\sum_{n=0}^{\infty} ar^n = \frac{a}{1-r} \quad \text{for } |r| < 1$$ + +### Product Notation +$$n! = \prod_{k=1}^{n} k$$ + +### Double Summation +$$\sum_{i=1}^{m} \sum_{j=1}^{n} a_{ij}$$ + +## Limits + +$$\lim_{x \to 0} \frac{\sin x}{x} = 1$$ + +$$\lim_{n \to \infty} \left(1 + \frac{x}{n}\right)^n = e^x$$ + +--- + +*This document showcases various mathematical notation and formulas that can be rendered in markdown using LaTeX syntax.* +`; diff --git a/tools/server/webui/src/stories/fixtures/readme.ts b/tools/server/webui/src/stories/fixtures/readme.ts new file mode 100644 index 0000000000..e8b573d6c4 --- /dev/null +++ b/tools/server/webui/src/stories/fixtures/readme.ts @@ -0,0 +1,136 @@ +// README Content +export const README_MD = String.raw` +# 🚀 Awesome Web Framework + +[![npm version](https://img.shields.io/npm/v/awesome-framework.svg)](https://www.npmjs.com/package/awesome-framework) +[![Build Status](https://github.com/awesome/framework/workflows/CI/badge.svg)](https://github.com/awesome/framework/actions) +[![Coverage](https://codecov.io/gh/awesome/framework/branch/main/graph/badge.svg)](https://codecov.io/gh/awesome/framework) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) + +> A modern, fast, and flexible web framework for building scalable applications + +## ✨ Features + +- 🎯 **Type-Safe** - Full TypeScript support out of the box +- ⚡ **Lightning Fast** - Built on Vite for instant HMR +- 📦 **Zero Config** - Works out of the box for most use cases +- 🎨 **Flexible** - Unopinionated with sensible defaults +- 🔧 **Extensible** - Plugin system for custom functionality +- 📱 **Responsive** - Mobile-first approach +- 🌍 **i18n Ready** - Built-in internationalization +- 🔒 **Secure** - Security best practices by default + +## 📦 Installation + +${'```'}bash +npm install awesome-framework +# or +yarn add awesome-framework +# or +pnpm add awesome-framework +${'```'} + +## 🚀 Quick Start + +### Create a new project + +${'```'}bash +npx create-awesome-app my-app +cd my-app +npm run dev +${'```'} + +### Basic Example + +${'```'}javascript +import { createApp } from 'awesome-framework'; + +const app = createApp({ + port: 3000, + middleware: ['cors', 'helmet', 'compression'] +}); + +app.get('/', (req, res) => { + res.json({ message: 'Hello World!' }); +}); + +app.listen(() => { + console.log('Server running on http://localhost:3000'); +}); +${'```'} + +## 📖 Documentation + +### Core Concepts + +- [Getting Started](https://docs.awesome.dev/getting-started) +- [Configuration](https://docs.awesome.dev/configuration) +- [Routing](https://docs.awesome.dev/routing) +- [Middleware](https://docs.awesome.dev/middleware) +- [Database](https://docs.awesome.dev/database) +- [Authentication](https://docs.awesome.dev/authentication) + +### Advanced Topics + +- [Performance Optimization](https://docs.awesome.dev/performance) +- [Deployment](https://docs.awesome.dev/deployment) +- [Testing](https://docs.awesome.dev/testing) +- [Security](https://docs.awesome.dev/security) + +## 🛠️ Development + +### Prerequisites + +- Node.js >= 18 +- pnpm >= 8 + +### Setup + +${'```'}bash +git clone https://github.com/awesome/framework.git +cd framework +pnpm install +pnpm dev +${'```'} + +### Testing + +${'```'}bash +pnpm test # Run unit tests +pnpm test:e2e # Run end-to-end tests +pnpm test:watch # Run tests in watch mode +${'```'} + +## 🤝 Contributing + +We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details. + +### Contributors + + + + + +## 📊 Benchmarks + +| Framework | Requests/sec | Latency (ms) | Memory (MB) | +|-----------|-------------|--------------|-------------| +| **Awesome** | **45,230** | **2.1** | **42** | +| Express | 28,450 | 3.5 | 68 | +| Fastify | 41,200 | 2.3 | 48 | +| Koa | 32,100 | 3.1 | 52 | + +*Benchmarks performed on MacBook Pro M2, Node.js 20.x* + +## 📝 License + +MIT © [Awesome Team](https://github.com/awesome) + +## 🙏 Acknowledgments + +Special thanks to all our sponsors and contributors who make this project possible. + +--- + +**[Website](https://awesome.dev)** • **[Documentation](https://docs.awesome.dev)** • **[Discord](https://discord.gg/awesome)** • **[Twitter](https://twitter.com/awesomeframework)** +`; diff --git a/tools/server/webui/src/stories/fixtures/storybook-mocks.ts b/tools/server/webui/src/stories/fixtures/storybook-mocks.ts new file mode 100644 index 0000000000..6922586425 --- /dev/null +++ b/tools/server/webui/src/stories/fixtures/storybook-mocks.ts @@ -0,0 +1,50 @@ +import { serverStore } from '$lib/stores/server.svelte'; + +/** + * Mock server properties for Storybook testing + * This utility allows setting mock server configurations without polluting production code + */ +export function mockServerProps(props: Partial): void { + // Directly set the private _serverProps for testing purposes + (serverStore as unknown as { _serverProps: ApiLlamaCppServerProps })._serverProps = { + model_path: props.model_path || 'test-model', + modalities: { + vision: props.modalities?.vision ?? false, + audio: props.modalities?.audio ?? false + }, + ...props + } as ApiLlamaCppServerProps; +} + +/** + * Reset server store to clean state for testing + */ +export function resetServerStore(): void { + (serverStore as unknown as { _serverProps: ApiLlamaCppServerProps })._serverProps = { + model_path: '', + modalities: { + vision: false, + audio: false + } + } as ApiLlamaCppServerProps; + (serverStore as unknown as { _error: string })._error = ''; + (serverStore as unknown as { _loading: boolean })._loading = false; +} + +/** + * Common mock configurations for Storybook stories + */ +export const mockConfigs = { + visionOnly: { + modalities: { vision: true, audio: false } + }, + audioOnly: { + modalities: { vision: false, audio: true } + }, + bothModalities: { + modalities: { vision: true, audio: true } + }, + noModalities: { + modalities: { vision: false, audio: false } + } +} as const; diff --git a/tools/server/webui/src/utils/app.context.tsx b/tools/server/webui/src/utils/app.context.tsx deleted file mode 100644 index 1860ecc721..0000000000 --- a/tools/server/webui/src/utils/app.context.tsx +++ /dev/null @@ -1,412 +0,0 @@ -import React, { createContext, useContext, useEffect, useState } from 'react'; -import { - APIMessage, - CanvasData, - Conversation, - LlamaCppServerProps, - Message, - PendingMessage, - ViewingChat, -} from './types'; -import StorageUtils from './storage'; -import { - filterThoughtFromMsgs, - normalizeMsgsForAPI, - getSSEStreamAsync, - getServerProps, -} from './misc'; -import { BASE_URL, CONFIG_DEFAULT, isDev } from '../Config'; -import { matchPath, useLocation, useNavigate } from 'react-router'; -import toast from 'react-hot-toast'; - -interface AppContextValue { - // conversations and messages - viewingChat: ViewingChat | null; - pendingMessages: Record; - isGenerating: (convId: string) => boolean; - sendMessage: ( - convId: string | null, - leafNodeId: Message['id'] | null, - content: string, - extra: Message['extra'], - onChunk: CallbackGeneratedChunk - ) => Promise; - stopGenerating: (convId: string) => void; - replaceMessageAndGenerate: ( - convId: string, - parentNodeId: Message['id'], // the parent node of the message to be replaced - content: string | null, - extra: Message['extra'], - onChunk: CallbackGeneratedChunk - ) => Promise; - - // canvas - canvasData: CanvasData | null; - setCanvasData: (data: CanvasData | null) => void; - - // config - config: typeof CONFIG_DEFAULT; - saveConfig: (config: typeof CONFIG_DEFAULT) => void; - showSettings: boolean; - setShowSettings: (show: boolean) => void; - - // props - serverProps: LlamaCppServerProps | null; -} - -// this callback is used for scrolling to the bottom of the chat and switching to the last node -export type CallbackGeneratedChunk = (currLeafNodeId?: Message['id']) => void; - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -const AppContext = createContext({} as any); - -const getViewingChat = async (convId: string): Promise => { - const conv = await StorageUtils.getOneConversation(convId); - if (!conv) return null; - return { - conv: conv, - // all messages from all branches, not filtered by last node - messages: await StorageUtils.getMessages(convId), - }; -}; - -export const AppContextProvider = ({ - children, -}: { - children: React.ReactElement; -}) => { - const { pathname } = useLocation(); - const navigate = useNavigate(); - const params = matchPath('/chat/:convId', pathname); - const convId = params?.params?.convId; - - const [serverProps, setServerProps] = useState( - null - ); - const [viewingChat, setViewingChat] = useState(null); - const [pendingMessages, setPendingMessages] = useState< - Record - >({}); - const [aborts, setAborts] = useState< - Record - >({}); - const [config, setConfig] = useState(StorageUtils.getConfig()); - const [canvasData, setCanvasData] = useState(null); - const [showSettings, setShowSettings] = useState(false); - - // get server props - useEffect(() => { - getServerProps(BASE_URL, config.apiKey) - .then((props) => { - console.debug('Server props:', props); - setServerProps(props); - }) - .catch((err) => { - console.error(err); - toast.error('Failed to fetch server props'); - }); - // eslint-disable-next-line - }, []); - - // handle change when the convId from URL is changed - useEffect(() => { - // also reset the canvas data - setCanvasData(null); - const handleConversationChange = async (changedConvId: string) => { - if (changedConvId !== convId) return; - setViewingChat(await getViewingChat(changedConvId)); - }; - StorageUtils.onConversationChanged(handleConversationChange); - getViewingChat(convId ?? '').then(setViewingChat); - return () => { - StorageUtils.offConversationChanged(handleConversationChange); - }; - }, [convId]); - - const setPending = (convId: string, pendingMsg: PendingMessage | null) => { - // if pendingMsg is null, remove the key from the object - if (!pendingMsg) { - setPendingMessages((prev) => { - const newState = { ...prev }; - delete newState[convId]; - return newState; - }); - } else { - setPendingMessages((prev) => ({ ...prev, [convId]: pendingMsg })); - } - }; - - const setAbort = (convId: string, controller: AbortController | null) => { - if (!controller) { - setAborts((prev) => { - const newState = { ...prev }; - delete newState[convId]; - return newState; - }); - } else { - setAborts((prev) => ({ ...prev, [convId]: controller })); - } - }; - - //////////////////////////////////////////////////////////////////////// - // public functions - - const isGenerating = (convId: string) => !!pendingMessages[convId]; - - const generateMessage = async ( - convId: string, - leafNodeId: Message['id'], - onChunk: CallbackGeneratedChunk - ) => { - if (isGenerating(convId)) return; - - const config = StorageUtils.getConfig(); - const currConversation = await StorageUtils.getOneConversation(convId); - if (!currConversation) { - throw new Error('Current conversation is not found'); - } - - const currMessages = StorageUtils.filterByLeafNodeId( - await StorageUtils.getMessages(convId), - leafNodeId, - false - ); - const abortController = new AbortController(); - setAbort(convId, abortController); - - if (!currMessages) { - throw new Error('Current messages are not found'); - } - - const pendingId = Date.now() + 1; - let pendingMsg: PendingMessage = { - id: pendingId, - convId, - type: 'text', - timestamp: pendingId, - role: 'assistant', - content: null, - parent: leafNodeId, - children: [], - }; - setPending(convId, pendingMsg); - - try { - // prepare messages for API - let messages: APIMessage[] = [ - ...(config.systemMessage.length === 0 - ? [] - : [{ role: 'system', content: config.systemMessage } as APIMessage]), - ...normalizeMsgsForAPI(currMessages), - ]; - if (config.excludeThoughtOnReq) { - messages = filterThoughtFromMsgs(messages); - } - if (isDev) console.log({ messages }); - - // prepare params - const params = { - messages, - stream: true, - cache_prompt: true, - reasoning_format: 'none', - samplers: config.samplers, - temperature: config.temperature, - dynatemp_range: config.dynatemp_range, - dynatemp_exponent: config.dynatemp_exponent, - top_k: config.top_k, - top_p: config.top_p, - min_p: config.min_p, - typical_p: config.typical_p, - xtc_probability: config.xtc_probability, - xtc_threshold: config.xtc_threshold, - repeat_last_n: config.repeat_last_n, - repeat_penalty: config.repeat_penalty, - presence_penalty: config.presence_penalty, - frequency_penalty: config.frequency_penalty, - dry_multiplier: config.dry_multiplier, - dry_base: config.dry_base, - dry_allowed_length: config.dry_allowed_length, - dry_penalty_last_n: config.dry_penalty_last_n, - max_tokens: config.max_tokens, - timings_per_token: !!config.showTokensPerSecond, - ...(config.custom.length ? JSON.parse(config.custom) : {}), - }; - - // send request - const fetchResponse = await fetch(`${BASE_URL}/v1/chat/completions`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - ...(config.apiKey - ? { Authorization: `Bearer ${config.apiKey}` } - : {}), - }, - body: JSON.stringify(params), - signal: abortController.signal, - }); - if (fetchResponse.status !== 200) { - const body = await fetchResponse.json(); - throw new Error(body?.error?.message || 'Unknown error'); - } - const chunks = getSSEStreamAsync(fetchResponse); - for await (const chunk of chunks) { - // const stop = chunk.stop; - if (chunk.error) { - throw new Error(chunk.error?.message || 'Unknown error'); - } - const addedContent = chunk.choices[0]?.delta.content; - const lastContent = pendingMsg.content || ''; - if (addedContent) { - pendingMsg = { - ...pendingMsg, - content: lastContent + addedContent, - }; - } - const timings = chunk.timings; - if (timings && config.showTokensPerSecond) { - // only extract what's really needed, to save some space - pendingMsg.timings = { - prompt_n: timings.prompt_n, - prompt_ms: timings.prompt_ms, - predicted_n: timings.predicted_n, - predicted_ms: timings.predicted_ms, - }; - } - setPending(convId, pendingMsg); - onChunk(); // don't need to switch node for pending message - } - } catch (err) { - setPending(convId, null); - if ((err as Error).name === 'AbortError') { - // user stopped the generation via stopGeneration() function - // we can safely ignore this error - } else { - console.error(err); - // eslint-disable-next-line @typescript-eslint/no-explicit-any - toast.error((err as any)?.message ?? 'Unknown error'); - throw err; // rethrow - } - } - - if (pendingMsg.content !== null) { - await StorageUtils.appendMsg(pendingMsg as Message, leafNodeId); - } - setPending(convId, null); - onChunk(pendingId); // trigger scroll to bottom and switch to the last node - }; - - const sendMessage = async ( - convId: string | null, - leafNodeId: Message['id'] | null, - content: string, - extra: Message['extra'], - onChunk: CallbackGeneratedChunk - ): Promise => { - if (isGenerating(convId ?? '') || content.trim().length === 0) return false; - - if (convId === null || convId.length === 0 || leafNodeId === null) { - const conv = await StorageUtils.createConversation( - content.substring(0, 256) - ); - convId = conv.id; - leafNodeId = conv.currNode; - // if user is creating a new conversation, redirect to the new conversation - navigate(`/chat/${convId}`); - } - - const now = Date.now(); - const currMsgId = now; - StorageUtils.appendMsg( - { - id: currMsgId, - timestamp: now, - type: 'text', - convId, - role: 'user', - content, - extra, - parent: leafNodeId, - children: [], - }, - leafNodeId - ); - onChunk(currMsgId); - - try { - await generateMessage(convId, currMsgId, onChunk); - return true; - } catch (_) { - // TODO: rollback - } - return false; - }; - - const stopGenerating = (convId: string) => { - setPending(convId, null); - aborts[convId]?.abort(); - }; - - // if content is undefined, we remove last assistant message - const replaceMessageAndGenerate = async ( - convId: string, - parentNodeId: Message['id'], // the parent node of the message to be replaced - content: string | null, - extra: Message['extra'], - onChunk: CallbackGeneratedChunk - ) => { - if (isGenerating(convId)) return; - - if (content !== null) { - const now = Date.now(); - const currMsgId = now; - StorageUtils.appendMsg( - { - id: currMsgId, - timestamp: now, - type: 'text', - convId, - role: 'user', - content, - extra, - parent: parentNodeId, - children: [], - }, - parentNodeId - ); - parentNodeId = currMsgId; - } - onChunk(parentNodeId); - - await generateMessage(convId, parentNodeId, onChunk); - }; - - const saveConfig = (config: typeof CONFIG_DEFAULT) => { - StorageUtils.setConfig(config); - setConfig(config); - }; - - return ( - - {children} - - ); -}; - -export const useAppContext = () => useContext(AppContext); diff --git a/tools/server/webui/src/utils/common.tsx b/tools/server/webui/src/utils/common.tsx deleted file mode 100644 index 7dd64508a4..0000000000 --- a/tools/server/webui/src/utils/common.tsx +++ /dev/null @@ -1,74 +0,0 @@ -export const XCloseButton: React.ElementType< - React.ClassAttributes & - React.HTMLAttributes -> = ({ className, ...props }) => ( - -); - -export const OpenInNewTab = ({ - href, - children, -}: { - href: string; - children: string; -}) => ( - - {children} - -); - -export function BtnWithTooltips({ - className, - onClick, - onMouseLeave, - children, - tooltipsContent, - disabled, -}: { - className?: string; - onClick: () => void; - onMouseLeave?: () => void; - children: React.ReactNode; - tooltipsContent: string; - disabled?: boolean; -}) { - // the onClick handler is on the container, so screen readers can safely ignore the inner button - // this prevents the label from being read twice - return ( -

    - -
    - ); -} diff --git a/tools/server/webui/src/utils/llama-vscode.ts b/tools/server/webui/src/utils/llama-vscode.ts deleted file mode 100644 index 0ad8f8042e..0000000000 --- a/tools/server/webui/src/utils/llama-vscode.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { useEffect } from 'react'; -import { ChatTextareaApi } from '../components/useChatTextarea.ts'; -import { ChatExtraContextApi } from '../components/useChatExtraContext.tsx'; - -// Extra context when using llama.cpp WebUI from llama-vscode, inside an iframe -// Ref: https://github.com/ggml-org/llama.cpp/pull/11940 - -interface SetTextEvData { - text: string; - context: string; -} - -/** - * To test it: - * window.postMessage({ command: 'setText', text: 'Spot the syntax error', context: 'def test()\n return 123' }, '*'); - */ - -export const useVSCodeContext = ( - textarea: ChatTextareaApi, - extraContext: ChatExtraContextApi -) => { - // Accept setText message from a parent window and set inputMsg and extraContext - useEffect(() => { - const handleMessage = (event: MessageEvent) => { - if (event.data?.command === 'setText') { - const data: SetTextEvData = event.data; - textarea.setValue(data?.text); - if (data?.context && data.context.length > 0) { - extraContext.clearItems(); - extraContext.addItems([ - { - type: 'context', - name: 'Extra context', - content: data.context, - }, - ]); - } - textarea.focus(); - setTimeout(() => { - textarea.refOnSubmit.current?.(); - }, 10); // wait for setExtraContext to finish - } - }; - - window.addEventListener('message', handleMessage); - return () => window.removeEventListener('message', handleMessage); - }, [textarea, extraContext]); - - // Add a keydown listener that sends the "escapePressed" message to the parent window - useEffect(() => { - const handleKeyDown = (event: KeyboardEvent) => { - if (event.key === 'Escape') { - window.parent.postMessage({ command: 'escapePressed' }, '*'); - } - }; - - window.addEventListener('keydown', handleKeyDown); - return () => window.removeEventListener('keydown', handleKeyDown); - }, []); - - return {}; -}; diff --git a/tools/server/webui/src/utils/misc.ts b/tools/server/webui/src/utils/misc.ts deleted file mode 100644 index 15182e4cab..0000000000 --- a/tools/server/webui/src/utils/misc.ts +++ /dev/null @@ -1,200 +0,0 @@ -// @ts-expect-error this package does not have typing -import TextLineStream from 'textlinestream'; -import { - APIMessage, - APIMessageContentPart, - LlamaCppServerProps, - Message, -} from './types'; - -// ponyfill for missing ReadableStream asyncIterator on Safari -import { asyncIterator } from '@sec-ant/readable-stream/ponyfill/asyncIterator'; - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export const isString = (x: any) => !!x.toLowerCase; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export const isBoolean = (x: any) => x === true || x === false; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export const isNumeric = (n: any) => !isString(n) && !isNaN(n) && !isBoolean(n); -export const escapeAttr = (str: string) => - str.replace(/>/g, '>').replace(/"/g, '"'); - -// wrapper for SSE -export async function* getSSEStreamAsync(fetchResponse: Response) { - if (!fetchResponse.body) throw new Error('Response body is empty'); - const lines: ReadableStream = fetchResponse.body - .pipeThrough(new TextDecoderStream()) - .pipeThrough(new TextLineStream()); - // @ts-expect-error asyncIterator complains about type, but it should work - for await (const line of asyncIterator(lines)) { - //if (isDev) console.log({ line }); - if (line.startsWith('data:') && !line.endsWith('[DONE]')) { - const data = JSON.parse(line.slice(5)); - yield data; - } else if (line.startsWith('error:')) { - const data = JSON.parse(line.slice(6)); - throw new Error(data.message || 'Unknown error'); - } - } -} - -// copy text to clipboard -export const copyStr = (textToCopy: string) => { - // Navigator clipboard api needs a secure context (https) - if (navigator.clipboard && window.isSecureContext) { - navigator.clipboard.writeText(textToCopy); - } else { - // Use the 'out of viewport hidden text area' trick - const textArea = document.createElement('textarea'); - textArea.value = textToCopy; - // Move textarea out of the viewport so it's not visible - textArea.style.position = 'absolute'; - textArea.style.left = '-999999px'; - document.body.prepend(textArea); - textArea.select(); - document.execCommand('copy'); - } -}; - -/** - * filter out redundant fields upon sending to API - * also format extra into text - */ -export function normalizeMsgsForAPI(messages: Readonly) { - return messages.map((msg) => { - if (msg.role !== 'user' || !msg.extra) { - return { - role: msg.role, - content: msg.content, - } as APIMessage; - } - - // extra content first, then user text message in the end - // this allow re-using the same cache prefix for long context - const contentArr: APIMessageContentPart[] = []; - - for (const extra of msg.extra ?? []) { - if (extra.type === 'context') { - contentArr.push({ - type: 'text', - text: extra.content, - }); - } else if (extra.type === 'textFile') { - contentArr.push({ - type: 'text', - text: `File: ${extra.name}\nContent:\n\n${extra.content}`, - }); - } else if (extra.type === 'imageFile') { - contentArr.push({ - type: 'image_url', - image_url: { url: extra.base64Url }, - }); - } else if (extra.type === 'audioFile') { - contentArr.push({ - type: 'input_audio', - input_audio: { - data: extra.base64Data, - format: /wav/.test(extra.mimeType) ? 'wav' : 'mp3', - }, - }); - } else { - throw new Error('Unknown extra type'); - } - } - - // add user message to the end - contentArr.push({ - type: 'text', - text: msg.content, - }); - - return { - role: msg.role, - content: contentArr, - }; - }) as APIMessage[]; -} - -/** - * recommended for DeepsSeek-R1, filter out content between and tags - */ -export function filterThoughtFromMsgs(messages: APIMessage[]) { - console.debug({ messages }); - return messages.map((msg) => { - if (msg.role !== 'assistant') { - return msg; - } - // assistant message is always a string - const contentStr = msg.content as string; - return { - role: msg.role, - content: - msg.role === 'assistant' - ? contentStr - .split(/<\/think>|<\|end\|>/) - .at(-1)! - .trim() - : contentStr, - } as APIMessage; - }); -} - -export function classNames(classes: Record): string { - return Object.entries(classes) - .filter(([_, value]) => value) - .map(([key, _]) => key) - .join(' '); -} - -export const delay = (ms: number) => - new Promise((resolve) => setTimeout(resolve, ms)); - -export const throttle = ( - callback: (...args: T) => void, - delay: number -) => { - let isWaiting = false; - - return (...args: T) => { - if (isWaiting) { - return; - } - - callback(...args); - isWaiting = true; - - setTimeout(() => { - isWaiting = false; - }, delay); - }; -}; - -export const cleanCurrentUrl = (removeQueryParams: string[]) => { - const url = new URL(window.location.href); - removeQueryParams.forEach((param) => { - url.searchParams.delete(param); - }); - window.history.replaceState({}, '', url.toString()); -}; - -export const getServerProps = async ( - baseUrl: string, - apiKey?: string -): Promise => { - try { - const response = await fetch(`${baseUrl}/props`, { - headers: { - 'Content-Type': 'application/json', - ...(apiKey ? { Authorization: `Bearer ${apiKey}` } : {}), - }, - }); - if (!response.ok) { - throw new Error('Failed to fetch server props'); - } - const data = await response.json(); - return data as LlamaCppServerProps; - } catch (error) { - console.error('Error fetching server props:', error); - throw error; - } -}; diff --git a/tools/server/webui/src/utils/storage.ts b/tools/server/webui/src/utils/storage.ts deleted file mode 100644 index 505693e927..0000000000 --- a/tools/server/webui/src/utils/storage.ts +++ /dev/null @@ -1,294 +0,0 @@ -// coversations is stored in localStorage -// format: { [convId]: { id: string, lastModified: number, messages: [...] } } - -import { CONFIG_DEFAULT } from '../Config'; -import { Conversation, Message, TimingReport } from './types'; -import Dexie, { Table } from 'dexie'; - -const event = new EventTarget(); - -type CallbackConversationChanged = (convId: string) => void; -let onConversationChangedHandlers: [ - CallbackConversationChanged, - EventListener, -][] = []; -const dispatchConversationChange = (convId: string) => { - event.dispatchEvent( - new CustomEvent('conversationChange', { detail: { convId } }) - ); -}; - -const db = new Dexie('LlamacppWebui') as Dexie & { - conversations: Table; - messages: Table; -}; - -// https://dexie.org/docs/Version/Version.stores() -db.version(1).stores({ - // Unlike SQL, you don’t need to specify all properties but only the one you wish to index. - conversations: '&id, lastModified', - messages: '&id, convId, [convId+id], timestamp', -}); - -// convId is a string prefixed with 'conv-' -const StorageUtils = { - /** - * manage conversations - */ - async getAllConversations(): Promise { - await migrationLStoIDB().catch(console.error); // noop if already migrated - return (await db.conversations.toArray()).sort( - (a, b) => b.lastModified - a.lastModified - ); - }, - /** - * can return null if convId does not exist - */ - async getOneConversation(convId: string): Promise { - return (await db.conversations.where('id').equals(convId).first()) ?? null; - }, - /** - * get all message nodes in a conversation - */ - async getMessages(convId: string): Promise { - return await db.messages.where({ convId }).toArray(); - }, - /** - * use in conjunction with getMessages to filter messages by leafNodeId - * includeRoot: whether to include the root node in the result - * if node with leafNodeId does not exist, return the path with the latest timestamp - */ - filterByLeafNodeId( - msgs: Readonly, - leafNodeId: Message['id'], - includeRoot: boolean - ): Readonly { - const res: Message[] = []; - const nodeMap = new Map(); - for (const msg of msgs) { - nodeMap.set(msg.id, msg); - } - let startNode: Message | undefined = nodeMap.get(leafNodeId); - if (!startNode) { - // if not found, we return the path with the latest timestamp - let latestTime = -1; - for (const msg of msgs) { - if (msg.timestamp > latestTime) { - startNode = msg; - latestTime = msg.timestamp; - } - } - } - // traverse the path from leafNodeId to root - // startNode can never be undefined here - let currNode: Message | undefined = startNode; - while (currNode) { - if (currNode.type !== 'root' || (currNode.type === 'root' && includeRoot)) - res.push(currNode); - currNode = nodeMap.get(currNode.parent ?? -1); - } - res.sort((a, b) => a.timestamp - b.timestamp); - return res; - }, - /** - * create a new conversation with a default root node - */ - async createConversation(name: string): Promise { - const now = Date.now(); - const msgId = now; - const conv: Conversation = { - id: `conv-${now}`, - lastModified: now, - currNode: msgId, - name, - }; - await db.conversations.add(conv); - // create a root node - await db.messages.add({ - id: msgId, - convId: conv.id, - type: 'root', - timestamp: now, - role: 'system', - content: '', - parent: -1, - children: [], - }); - return conv; - }, - /** - * update the name of a conversation - */ - async updateConversationName(convId: string, name: string): Promise { - await db.conversations.update(convId, { - name, - lastModified: Date.now(), - }); - dispatchConversationChange(convId); - }, - /** - * if convId does not exist, throw an error - */ - async appendMsg( - msg: Exclude, - parentNodeId: Message['id'] - ): Promise { - if (msg.content === null) return; - const { convId } = msg; - await db.transaction('rw', db.conversations, db.messages, async () => { - const conv = await StorageUtils.getOneConversation(convId); - const parentMsg = await db.messages - .where({ convId, id: parentNodeId }) - .first(); - // update the currNode of conversation - if (!conv) { - throw new Error(`Conversation ${convId} does not exist`); - } - if (!parentMsg) { - throw new Error( - `Parent message ID ${parentNodeId} does not exist in conversation ${convId}` - ); - } - await db.conversations.update(convId, { - lastModified: Date.now(), - currNode: msg.id, - }); - // update parent - await db.messages.update(parentNodeId, { - children: [...parentMsg.children, msg.id], - }); - // create message - await db.messages.add({ - ...msg, - parent: parentNodeId, - children: [], - }); - }); - dispatchConversationChange(convId); - }, - /** - * remove conversation by id - */ - async remove(convId: string): Promise { - await db.transaction('rw', db.conversations, db.messages, async () => { - await db.conversations.delete(convId); - await db.messages.where({ convId }).delete(); - }); - dispatchConversationChange(convId); - }, - - // event listeners - onConversationChanged(callback: CallbackConversationChanged) { - const fn = (e: Event) => callback((e as CustomEvent).detail.convId); - onConversationChangedHandlers.push([callback, fn]); - event.addEventListener('conversationChange', fn); - }, - offConversationChanged(callback: CallbackConversationChanged) { - const fn = onConversationChangedHandlers.find(([cb, _]) => cb === callback); - if (fn) { - event.removeEventListener('conversationChange', fn[1]); - } - onConversationChangedHandlers = []; - }, - - // manage config - getConfig(): typeof CONFIG_DEFAULT { - const savedVal = JSON.parse(localStorage.getItem('config') || '{}'); - // to prevent breaking changes in the future, we always provide default value for missing keys - return { - ...CONFIG_DEFAULT, - ...savedVal, - }; - }, - setConfig(config: typeof CONFIG_DEFAULT) { - localStorage.setItem('config', JSON.stringify(config)); - }, - getTheme(): string { - return localStorage.getItem('theme') || 'auto'; - }, - setTheme(theme: string) { - if (theme === 'auto') { - localStorage.removeItem('theme'); - } else { - localStorage.setItem('theme', theme); - } - }, -}; - -export default StorageUtils; - -// Migration from localStorage to IndexedDB - -// these are old types, LS prefix stands for LocalStorage -interface LSConversation { - id: string; // format: `conv-{timestamp}` - lastModified: number; // timestamp from Date.now() - messages: LSMessage[]; -} -interface LSMessage { - id: number; - role: 'user' | 'assistant' | 'system'; - content: string; - timings?: TimingReport; -} -async function migrationLStoIDB() { - if (localStorage.getItem('migratedToIDB')) return; - const res: LSConversation[] = []; - for (const key in localStorage) { - if (key.startsWith('conv-')) { - res.push(JSON.parse(localStorage.getItem(key) ?? '{}')); - } - } - if (res.length === 0) return; - await db.transaction('rw', db.conversations, db.messages, async () => { - let migratedCount = 0; - for (const conv of res) { - const { id: convId, lastModified, messages } = conv; - const firstMsg = messages[0]; - const lastMsg = messages.at(-1); - if (messages.length < 2 || !firstMsg || !lastMsg) { - console.log( - `Skipping conversation ${convId} with ${messages.length} messages` - ); - continue; - } - const name = firstMsg.content ?? '(no messages)'; - await db.conversations.add({ - id: convId, - lastModified, - currNode: lastMsg.id, - name, - }); - const rootId = messages[0].id - 2; - await db.messages.add({ - id: rootId, - convId: convId, - type: 'root', - timestamp: rootId, - role: 'system', - content: '', - parent: -1, - children: [firstMsg.id], - }); - for (let i = 0; i < messages.length; i++) { - const msg = messages[i]; - await db.messages.add({ - ...msg, - type: 'text', - convId: convId, - timestamp: msg.id, - parent: i === 0 ? rootId : messages[i - 1].id, - children: i === messages.length - 1 ? [] : [messages[i + 1].id], - }); - } - migratedCount++; - console.log( - `Migrated conversation ${convId} with ${messages.length} messages` - ); - } - console.log( - `Migrated ${migratedCount} conversations from localStorage to IndexedDB` - ); - localStorage.setItem('migratedToIDB', '1'); - }); -} diff --git a/tools/server/webui/src/utils/types.ts b/tools/server/webui/src/utils/types.ts deleted file mode 100644 index ea7d641dc7..0000000000 --- a/tools/server/webui/src/utils/types.ts +++ /dev/null @@ -1,138 +0,0 @@ -export interface TimingReport { - prompt_n: number; - prompt_ms: number; - predicted_n: number; - predicted_ms: number; -} - -/** - * What is conversation "branching"? It is a feature that allows the user to edit an old message in the history, while still keeping the conversation flow. - * Inspired by ChatGPT / Claude / Hugging Chat where you edit a message, a new branch of the conversation is created, and the old message is still visible. - * - * We use the same node-based structure like other chat UIs, where each message has a parent and children. A "root" message is the first message in a conversation, which will not be displayed in the UI. - * - * root - * ├── message 1 - * │ └── message 2 - * │ └── message 3 - * └── message 4 - * └── message 5 - * - * In the above example, assuming that user wants to edit message 2, a new branch will be created: - * - * ├── message 2 - * │ └── message 3 - * └── message 6 - * - * Message 2 and 6 are siblings, and message 6 is the new branch. - * - * We only need to know the last node (aka leaf) to get the current branch. In the above example, message 5 is the leaf of branch containing message 4 and 5. - * - * For the implementation: - * - StorageUtils.getMessages() returns list of all nodes - * - StorageUtils.filterByLeafNodeId() filters the list of nodes from a given leaf node - */ - -// Note: the term "message" and "node" are used interchangeably in this context -export interface Message { - id: number; - convId: string; - type: 'text' | 'root'; - timestamp: number; // timestamp from Date.now() - role: 'user' | 'assistant' | 'system'; - content: string; - timings?: TimingReport; - extra?: MessageExtra[]; - // node based system for branching - parent: Message['id']; - children: Message['id'][]; -} - -export type MessageExtra = - | MessageExtraTextFile - | MessageExtraImageFile - | MessageExtraAudioFile - | MessageExtraContext; - -export interface MessageExtraTextFile { - type: 'textFile'; - name: string; - content: string; -} - -export interface MessageExtraImageFile { - type: 'imageFile'; - name: string; - base64Url: string; -} - -export interface MessageExtraAudioFile { - type: 'audioFile'; - name: string; - base64Data: string; - mimeType: string; -} - -export interface MessageExtraContext { - type: 'context'; - name: string; - content: string; -} - -export type APIMessageContentPart = - | { - type: 'text'; - text: string; - } - | { - type: 'image_url'; - image_url: { url: string }; - } - | { - type: 'input_audio'; - input_audio: { data: string; format: 'wav' | 'mp3' }; - }; - -export type APIMessage = { - role: Message['role']; - content: string | APIMessageContentPart[]; -}; - -export interface Conversation { - id: string; // format: `conv-{timestamp}` - lastModified: number; // timestamp from Date.now() - currNode: Message['id']; // the current message node being viewed - name: string; -} - -export interface ViewingChat { - conv: Readonly; - messages: Readonly; -} - -export type PendingMessage = Omit & { - content: string | null; -}; - -export enum CanvasType { - PY_INTERPRETER, -} - -export interface CanvasPyInterpreter { - type: CanvasType.PY_INTERPRETER; - content: string; -} - -export type CanvasData = CanvasPyInterpreter; - -// a non-complete list of props, only contains the ones we need -export interface LlamaCppServerProps { - build_info: string; - model_path: string; - n_ctx: number; - modalities?: { - vision: boolean; - audio: boolean; - }; - // TODO: support params -} diff --git a/tools/server/webui/src/vite-env.d.ts b/tools/server/webui/src/vite-env.d.ts deleted file mode 100644 index 11f02fe2a0..0000000000 --- a/tools/server/webui/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/tools/server/webui/static/favicon.svg b/tools/server/webui/static/favicon.svg new file mode 100644 index 0000000000..a7ae13691c --- /dev/null +++ b/tools/server/webui/static/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/tools/server/webui/static/loading.html b/tools/server/webui/static/loading.html new file mode 100644 index 0000000000..c3fd19a0f5 --- /dev/null +++ b/tools/server/webui/static/loading.html @@ -0,0 +1,12 @@ + + + + + + +
    + The model is loading. Please wait.
    + The user interface will appear soon. +
    + + diff --git a/tools/server/webui/svelte.config.js b/tools/server/webui/svelte.config.js new file mode 100644 index 0000000000..722d408379 --- /dev/null +++ b/tools/server/webui/svelte.config.js @@ -0,0 +1,25 @@ +import { mdsvex } from 'mdsvex'; +import adapter from '@sveltejs/adapter-static'; +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + // Consult https://svelte.dev/docs/kit/integrations + // for more information about preprocessors + preprocess: [vitePreprocess(), mdsvex()], + kit: { + adapter: adapter({ + pages: '../public', + assets: '../public', + fallback: 'index.html', + precompress: false, + strict: true + }), + output: { + bundleStrategy: 'inline' + } + }, + extensions: ['.svelte', '.svx'] +}; + +export default config; diff --git a/tools/server/webui/tailwind.config.js b/tools/server/webui/tailwind.config.js deleted file mode 100644 index c43066a19e..0000000000 --- a/tools/server/webui/tailwind.config.js +++ /dev/null @@ -1,16 +0,0 @@ -/** @type {import('tailwindcss').Config} */ -export default { - content: [ - "./index.html", - "./src/**/*.{js,ts,jsx,tsx}", - ], - theme: { - extend: {}, - }, - plugins: [ - require('daisyui'), - ], - daisyui: { - themes: ['light', 'dark', 'cupcake', 'bumblebee', 'emerald', 'corporate', 'synthwave', 'retro', 'cyberpunk', 'valentine', 'halloween', 'garden', 'forest', 'aqua', 'lofi', 'pastel', 'fantasy', 'wireframe', 'black', 'luxury', 'dracula', 'cmyk', 'autumn', 'business', 'acid', 'lemonade', 'night', 'coffee', 'winter', 'dim', 'nord', 'sunset'], - } -} diff --git a/tools/server/webui/tsconfig.app.json b/tools/server/webui/tsconfig.app.json deleted file mode 100644 index cb24c26f36..0000000000 --- a/tools/server/webui/tsconfig.app.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "compilerOptions": { - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", - "target": "ES2021", - "useDefineForClassFields": true, - "lib": ["ES2021", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "isolatedModules": true, - "moduleDetection": "force", - "noEmit": true, - "jsx": "react-jsx", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - "noUncheckedSideEffectImports": true - }, - "include": ["src"] -} diff --git a/tools/server/webui/tsconfig.json b/tools/server/webui/tsconfig.json index 1ffef600d9..0b2d8865f4 100644 --- a/tools/server/webui/tsconfig.json +++ b/tools/server/webui/tsconfig.json @@ -1,7 +1,19 @@ { - "files": [], - "references": [ - { "path": "./tsconfig.app.json" }, - { "path": "./tsconfig.node.json" } - ] + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler" + } + // Path aliases are handled by https://svelte.dev/docs/kit/configuration#alias + // except $lib which is handled by https://svelte.dev/docs/kit/configuration#files + // + // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes + // from the referenced tsconfig.json - TypeScript does not merge them in } diff --git a/tools/server/webui/tsconfig.node.json b/tools/server/webui/tsconfig.node.json deleted file mode 100644 index db0becc8b0..0000000000 --- a/tools/server/webui/tsconfig.node.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "compilerOptions": { - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", - "target": "ES2022", - "lib": ["ES2023"], - "module": "ESNext", - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "isolatedModules": true, - "moduleDetection": "force", - "noEmit": true, - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - "noUncheckedSideEffectImports": true - }, - "include": ["vite.config.ts"] -} diff --git a/tools/server/webui/vite.config.ts b/tools/server/webui/vite.config.ts index 910c286e0c..7f7ce3bed3 100644 --- a/tools/server/webui/vite.config.ts +++ b/tools/server/webui/vite.config.ts @@ -1,13 +1,11 @@ -import { defineConfig, PluginOption } from 'vite'; -import react from '@vitejs/plugin-react'; -import { viteSingleFile } from 'vite-plugin-singlefile'; -import path from 'node:path'; -import fs from 'node:fs'; +import tailwindcss from '@tailwindcss/vite'; +import { sveltekit } from '@sveltejs/kit/vite'; import * as fflate from 'fflate'; - -/* eslint-disable */ - -const MAX_BUNDLE_SIZE = 2 * 1024 * 1024; // only increase when absolutely necessary +import { readFileSync, writeFileSync, existsSync } from 'fs'; +import { resolve } from 'path'; +import { defineConfig } from 'vite'; +import devtoolsJson from 'vite-plugin-devtools-json'; +import { storybookTest } from '@storybook/addon-vitest/vitest-plugin'; const GUIDE_FOR_FRONTEND = ` `.trim(); -const FRONTEND_PLUGINS = [react()]; +const MAX_BUNDLE_SIZE = 2 * 1024 * 1024; -const BUILD_PLUGINS = [ - ...FRONTEND_PLUGINS, - viteSingleFile(), - (function llamaCppPlugin() { - let config: any; - return { - name: 'llamacpp:build', - apply: 'build', - async configResolved(_config: any) { - config = _config; - }, - writeBundle() { - const outputIndexHtml = path.join(config.build.outDir, 'index.html'); - let content = - GUIDE_FOR_FRONTEND + '\n' + fs.readFileSync(outputIndexHtml, 'utf-8'); - content = content.replace(/\r/g, ''); // remove windows-style line endings - const compressed = fflate.gzipSync(Buffer.from(content, 'utf-8'), { - level: 9, - }); +function llamaCppBuildPlugin() { + return { + name: 'llamacpp:build', + apply: 'build' as const, + closeBundle() { + // Ensure the SvelteKit adapter has finished writing to ../public + setTimeout(() => { + try { + const indexPath = resolve('../public/index.html'); + const gzipPath = resolve('../public/index.html.gz'); - // because gzip header contains machine-specific info, we must remove these data from the header - // timestamp - compressed[0x4] = 0; - compressed[0x5] = 0; - compressed[0x6] = 0; - compressed[0x7] = 0; - // OS - compressed[0x9] = 0; + if (!existsSync(indexPath)) { + return; + } - if (compressed.byteLength > MAX_BUNDLE_SIZE) { - throw new Error( - `Bundle size is too large (${Math.ceil(compressed.byteLength / 1024)} KB).\n` + - `Please reduce the size of the frontend or increase MAX_BUNDLE_SIZE in vite.config.js.\n` - ); - } + let content = readFileSync(indexPath, 'utf-8'); - const targetOutputFile = path.join( - config.build.outDir, - '../../public/index.html.gz' - ); - fs.writeFileSync(targetOutputFile, compressed); - }, - } satisfies PluginOption; - })(), -]; + const faviconPath = resolve('static/favicon.svg'); + if (existsSync(faviconPath)) { + const faviconContent = readFileSync(faviconPath, 'utf-8'); + const faviconBase64 = Buffer.from(faviconContent).toString('base64'); + const faviconDataUrl = `data:image/svg+xml;base64,${faviconBase64}`; + + content = content.replace(/href="[^"]*favicon\.svg"/g, `href="${faviconDataUrl}"`); + + console.log('✓ Inlined favicon.svg as base64 data URL'); + } + + content = content.replace(/\r/g, ''); + content = GUIDE_FOR_FRONTEND + '\n' + content; + + const compressed = fflate.gzipSync(Buffer.from(content, 'utf-8'), { level: 9 }); + + compressed[0x4] = 0; + compressed[0x5] = 0; + compressed[0x6] = 0; + compressed[0x7] = 0; + compressed[0x9] = 0; + + if (compressed.byteLength > MAX_BUNDLE_SIZE) { + throw new Error( + `Bundle size is too large (${Math.ceil(compressed.byteLength / 1024)} KB).\n` + + `Please reduce the size of the frontend or increase MAX_BUNDLE_SIZE in vite.config.ts.\n` + ); + } + + writeFileSync(gzipPath, compressed); + console.log('✓ Created index.html.gz'); + } catch (error) { + console.error('Failed to create gzip file:', error); + } + }, 100); + } + }; +} export default defineConfig({ - // @ts-ignore - plugins: process.env.ANALYZE ? FRONTEND_PLUGINS : BUILD_PLUGINS, - server: { - proxy: { - '/v1': 'http://localhost:8080', - '/props': 'http://localhost:8080', - }, - headers: { - 'Cross-Origin-Embedder-Policy': 'require-corp', - 'Cross-Origin-Opener-Policy': 'same-origin', - }, - }, + plugins: [tailwindcss(), sveltekit(), devtoolsJson(), llamaCppBuildPlugin()], + test: { + projects: [ + { + extends: './vite.config.ts', + test: { + name: 'client', + environment: 'browser', + browser: { + enabled: true, + provider: 'playwright', + instances: [{ browser: 'chromium' }] + }, + include: ['src/**/*.svelte.{test,spec}.{js,ts}'], + exclude: ['src/lib/server/**'], + setupFiles: ['./vitest-setup-client.ts'] + } + }, + { + extends: './vite.config.ts', + test: { + name: 'server', + environment: 'node', + include: ['src/**/*.{test,spec}.{js,ts}'], + exclude: ['src/**/*.svelte.{test,spec}.{js,ts}'] + } + }, + { + extends: './vite.config.ts', + test: { + name: 'ui', + environment: 'browser', + browser: { + enabled: true, + provider: 'playwright', + instances: [{ browser: 'chromium', headless: true }] + }, + include: ['src/**/*.stories.{js,ts,svelte}'], + setupFiles: ['./.storybook/vitest.setup.ts'] + }, + plugins: [ + storybookTest({ + storybookScript: 'pnpm run storybook --no-open' + }) + ] + } + ] + }, + server: { + proxy: { + '/v1': 'http://localhost:8080', + '/props': 'http://localhost:8080', + '/slots': 'http://localhost:8080' + }, + headers: { + 'Cross-Origin-Embedder-Policy': 'require-corp', + 'Cross-Origin-Opener-Policy': 'same-origin' + } + } }); diff --git a/tools/server/webui/vitest-setup-client.ts b/tools/server/webui/vitest-setup-client.ts new file mode 100644 index 0000000000..570b9f0e1a --- /dev/null +++ b/tools/server/webui/vitest-setup-client.ts @@ -0,0 +1,2 @@ +/// +/// From 0320ac5264279d74f8ee91bafa6c90e9ab9bbb91 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 17 Sep 2025 20:38:12 +0300 Subject: [PATCH 26/52] metal : refactor + optimize v2 (#15995) * metal : improve naming * metal : refactor device ggml-ci * cont : props ggml-ci * metal : apply ggml_mem_ranges_t ggml-ci * metal : remove GGML_METAL_USE_BF16 ggml-ci * metal : refactor device buffer ggml-ci * cont : fix naming * metal : sync before destroying the backend ggml-ci * metal : refactor context ggml-ci * metal : migrate ggml-metal.m to ggml-metal.cpp ggml-ci * metal : adjust ops API ggml-ci * metal : use C++ to store piplienes ggml-ci * metal : migrate ops to separate functions ggml-ci * metal : add ggml_metal_library_t ggml-ci * metal : improve naming ggml-ci * metal : cleanp ggml-ci * metal : add support for GGML_OP_LOG ggml-ci * metal : fix error handling ggml-ci --- ci/run.sh | 2 +- ggml/CMakeLists.txt | 1 - ggml/include/ggml-metal.h | 1 + ggml/include/ggml.h | 8 +- ggml/src/ggml-metal/CMakeLists.txt | 10 +- ggml/src/ggml-metal/ggml-metal-common.cpp | 32 +- ggml/src/ggml-metal/ggml-metal-common.h | 14 +- ggml/src/ggml-metal/ggml-metal-context.h | 33 + ggml/src/ggml-metal/ggml-metal-context.m | 575 ++ ggml/src/ggml-metal/ggml-metal-device.cpp | 1366 ++++ ggml/src/ggml-metal/ggml-metal-device.h | 226 + ggml/src/ggml-metal/ggml-metal-device.m | 1289 ++++ ggml/src/ggml-metal/ggml-metal-impl.h | 35 +- ggml/src/ggml-metal/ggml-metal-ops.cpp | 3188 ++++++++++ ggml/src/ggml-metal/ggml-metal-ops.h | 81 + ggml/src/ggml-metal/ggml-metal.cpp | 718 +++ ggml/src/ggml-metal/ggml-metal.m | 6897 --------------------- ggml/src/ggml-metal/ggml-metal.metal | 561 +- tests/test-backend-ops.cpp | 20 +- 19 files changed, 7873 insertions(+), 7184 deletions(-) create mode 100644 ggml/src/ggml-metal/ggml-metal-context.h create mode 100644 ggml/src/ggml-metal/ggml-metal-context.m create mode 100644 ggml/src/ggml-metal/ggml-metal-device.cpp create mode 100644 ggml/src/ggml-metal/ggml-metal-device.h create mode 100644 ggml/src/ggml-metal/ggml-metal-device.m create mode 100644 ggml/src/ggml-metal/ggml-metal-ops.cpp create mode 100644 ggml/src/ggml-metal/ggml-metal-ops.h create mode 100644 ggml/src/ggml-metal/ggml-metal.cpp delete mode 100644 ggml/src/ggml-metal/ggml-metal.m diff --git a/ci/run.sh b/ci/run.sh index ba099680cd..8e20b4e24d 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -45,7 +45,7 @@ SRC=`pwd` CMAKE_EXTRA="-DLLAMA_FATAL_WARNINGS=ON -DLLAMA_CURL=ON" if [ ! -z ${GG_BUILD_METAL} ]; then - CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_METAL=ON -DGGML_METAL_USE_BF16=ON" + CMAKE_EXTRA="${CMAKE_EXTRA} -DGGML_METAL=ON" fi if [ ! -z ${GG_BUILD_CUDA} ]; then diff --git a/ggml/CMakeLists.txt b/ggml/CMakeLists.txt index d06464f5eb..f4ccf273b7 100644 --- a/ggml/CMakeLists.txt +++ b/ggml/CMakeLists.txt @@ -190,7 +190,6 @@ option(GGML_WEBGPU "ggml: use WebGPU" option(GGML_WEBGPU_DEBUG "ggml: enable WebGPU debug output" OFF) option(GGML_ZDNN "ggml: use zDNN" OFF) option(GGML_METAL "ggml: use Metal" ${GGML_METAL_DEFAULT}) -option(GGML_METAL_USE_BF16 "ggml: use bfloat if available" OFF) option(GGML_METAL_NDEBUG "ggml: disable Metal debugging" OFF) option(GGML_METAL_SHADER_DEBUG "ggml: compile Metal with -fno-fast-math" OFF) option(GGML_METAL_EMBED_LIBRARY "ggml: embed Metal library" ${GGML_METAL}) diff --git a/ggml/include/ggml-metal.h b/ggml/include/ggml-metal.h index 1163438bc2..433838f0d6 100644 --- a/ggml/include/ggml-metal.h +++ b/ggml/include/ggml-metal.h @@ -39,6 +39,7 @@ extern "C" { // user-code should use only these functions // +// TODO: remove in the future GGML_BACKEND_API ggml_backend_t ggml_backend_metal_init(void); GGML_BACKEND_API bool ggml_backend_is_metal(ggml_backend_t backend); diff --git a/ggml/include/ggml.h b/ggml/include/ggml.h index b7b472c56e..36b23dc6d0 100644 --- a/ggml/include/ggml.h +++ b/ggml/include/ggml.h @@ -284,19 +284,19 @@ __host__ __device__ constexpr inline void ggml_unused_vars_impl(Args&&...) noexc // GGML_TENSOR_LOCALS(size_t, nb1, src1, nb); // #define GGML_TENSOR_LOCALS_1(type, prefix, pointer, array) \ - const type prefix##0 = (pointer)->array[0]; \ + const type prefix##0 = (pointer) ? (pointer)->array[0] : 0; \ GGML_UNUSED(prefix##0); #define GGML_TENSOR_LOCALS_2(type, prefix, pointer, array) \ GGML_TENSOR_LOCALS_1 (type, prefix, pointer, array) \ - const type prefix##1 = (pointer)->array[1]; \ + const type prefix##1 = (pointer) ? (pointer)->array[1] : 0; \ GGML_UNUSED(prefix##1); #define GGML_TENSOR_LOCALS_3(type, prefix, pointer, array) \ GGML_TENSOR_LOCALS_2 (type, prefix, pointer, array) \ - const type prefix##2 = (pointer)->array[2]; \ + const type prefix##2 = (pointer) ? (pointer)->array[2] : 0; \ GGML_UNUSED(prefix##2); #define GGML_TENSOR_LOCALS(type, prefix, pointer, array) \ GGML_TENSOR_LOCALS_3 (type, prefix, pointer, array) \ - const type prefix##3 = (pointer)->array[3]; \ + const type prefix##3 = (pointer) ? (pointer)->array[3] : 0; \ GGML_UNUSED(prefix##3); #define GGML_TENSOR_UNARY_OP_LOCALS \ diff --git a/ggml/src/ggml-metal/CMakeLists.txt b/ggml/src/ggml-metal/CMakeLists.txt index 65c131b621..63418fe143 100644 --- a/ggml/src/ggml-metal/CMakeLists.txt +++ b/ggml/src/ggml-metal/CMakeLists.txt @@ -5,8 +5,12 @@ find_library(METALKIT_FRAMEWORK MetalKit REQUIRED) message(STATUS "Metal framework found") ggml_add_backend_library(ggml-metal - ggml-metal.m + ggml-metal.cpp + ggml-metal-device.m + ggml-metal-device.cpp ggml-metal-common.cpp + ggml-metal-context.m + ggml-metal-ops.cpp ) target_link_libraries(ggml-metal PRIVATE @@ -19,10 +23,6 @@ if (GGML_METAL_NDEBUG) add_compile_definitions(GGML_METAL_NDEBUG) endif() -if (GGML_METAL_USE_BF16) - add_compile_definitions(GGML_METAL_USE_BF16) -endif() - # copy metal files to bin directory configure_file(../ggml-common.h ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-common.h COPYONLY) configure_file(ggml-metal.metal ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ggml-metal.metal COPYONLY) diff --git a/ggml/src/ggml-metal/ggml-metal-common.cpp b/ggml/src/ggml-metal/ggml-metal-common.cpp index cb39e5b2ab..34d27b6324 100644 --- a/ggml/src/ggml-metal/ggml-metal-common.cpp +++ b/ggml/src/ggml-metal/ggml-metal-common.cpp @@ -22,7 +22,7 @@ struct ggml_mem_ranges { int debug = 0; }; -struct ggml_mem_ranges * ggml_mem_ranges_init(int debug) { +ggml_mem_ranges_t ggml_mem_ranges_init(int debug) { auto * res = new ggml_mem_ranges; res->ranges.reserve(256); @@ -31,15 +31,15 @@ struct ggml_mem_ranges * ggml_mem_ranges_init(int debug) { return res; } -void ggml_mem_ranges_free(ggml_mem_ranges * mrs) { +void ggml_mem_ranges_free(ggml_mem_ranges_t mrs) { delete mrs; } -void ggml_mem_ranges_reset(ggml_mem_ranges * mrs) { +void ggml_mem_ranges_reset(ggml_mem_ranges_t mrs) { mrs->ranges.clear(); } -static bool ggml_mem_ranges_add(ggml_mem_ranges * mrs, ggml_mem_range mr) { +static bool ggml_mem_ranges_add(ggml_mem_ranges_t mrs, ggml_mem_range mr) { mrs->ranges.push_back(mr); return true; @@ -87,7 +87,7 @@ static ggml_mem_range ggml_mem_range_from_tensor_dst(const ggml_tensor * tensor) return ggml_mem_range_from_tensor(tensor, MEM_RANGE_TYPE_DST); } -static bool ggml_mem_ranges_add_src(ggml_mem_ranges * mrs, const ggml_tensor * tensor) { +static bool ggml_mem_ranges_add_src(ggml_mem_ranges_t mrs, const ggml_tensor * tensor) { GGML_ASSERT(tensor); ggml_mem_range mr = ggml_mem_range_from_tensor_src(tensor); @@ -99,7 +99,7 @@ static bool ggml_mem_ranges_add_src(ggml_mem_ranges * mrs, const ggml_tensor * t return ggml_mem_ranges_add(mrs, mr); } -static bool ggml_mem_ranges_add_dst(ggml_mem_ranges * mrs, const ggml_tensor * tensor) { +static bool ggml_mem_ranges_add_dst(ggml_mem_ranges_t mrs, const ggml_tensor * tensor) { GGML_ASSERT(tensor); ggml_mem_range mr = ggml_mem_range_from_tensor_dst(tensor); @@ -111,7 +111,7 @@ static bool ggml_mem_ranges_add_dst(ggml_mem_ranges * mrs, const ggml_tensor * t return ggml_mem_ranges_add(mrs, mr); } -bool ggml_mem_ranges_add(ggml_mem_ranges * mrs, const ggml_tensor * tensor) { +bool ggml_mem_ranges_add(ggml_mem_ranges_t mrs, const ggml_tensor * tensor) { for (int i = 0; i < GGML_MAX_DIMS; i++) { if (tensor->src[i]) { ggml_mem_ranges_add_src(mrs, tensor->src[i]); @@ -121,7 +121,7 @@ bool ggml_mem_ranges_add(ggml_mem_ranges * mrs, const ggml_tensor * tensor) { return ggml_mem_ranges_add_dst(mrs, tensor); } -static bool ggml_mem_ranges_check(const ggml_mem_ranges * mrs, ggml_mem_range mr) { +static bool ggml_mem_ranges_check(ggml_mem_ranges_t mrs, ggml_mem_range mr) { for (size_t i = 0; i < mrs->ranges.size(); i++) { const auto & cmp = mrs->ranges[i]; @@ -152,7 +152,7 @@ static bool ggml_mem_ranges_check(const ggml_mem_ranges * mrs, ggml_mem_range mr return true; } -static bool ggml_mem_ranges_check_src(const ggml_mem_ranges * mrs, const ggml_tensor * tensor) { +static bool ggml_mem_ranges_check_src(ggml_mem_ranges_t mrs, const ggml_tensor * tensor) { GGML_ASSERT(tensor); ggml_mem_range mr = ggml_mem_range_from_tensor_src(tensor); @@ -162,7 +162,7 @@ static bool ggml_mem_ranges_check_src(const ggml_mem_ranges * mrs, const ggml_te return res; } -static bool ggml_mem_ranges_check_dst(const ggml_mem_ranges * mrs, const ggml_tensor * tensor) { +static bool ggml_mem_ranges_check_dst(ggml_mem_ranges_t mrs, const ggml_tensor * tensor) { GGML_ASSERT(tensor); ggml_mem_range mr = ggml_mem_range_from_tensor_dst(tensor); @@ -172,7 +172,7 @@ static bool ggml_mem_ranges_check_dst(const ggml_mem_ranges * mrs, const ggml_te return res; } -bool ggml_mem_ranges_check(const ggml_mem_ranges * mrs, const ggml_tensor * tensor) { +bool ggml_mem_ranges_check(ggml_mem_ranges_t mrs, const ggml_tensor * tensor) { for (int i = 0; i < GGML_MAX_DIMS; i++) { if (tensor->src[i]) { if (!ggml_mem_ranges_check_src(mrs, tensor->src[i])) { @@ -222,7 +222,7 @@ struct node_info { static std::vector ggml_metal_graph_optimize_reorder(const std::vector & nodes) { // helper to add node src and dst ranges - const auto & h_add = [](ggml_mem_ranges * mrs, const node_info & node) { + const auto & h_add = [](ggml_mem_ranges_t mrs, const node_info & node) { for (int i = 0; i < GGML_MAX_SRC; i++) { if (node.node->src[i]) { if (!ggml_mem_ranges_add_src(mrs, node.node->src[i])) { @@ -246,7 +246,7 @@ static std::vector ggml_metal_graph_optimize_reorder(const std::vectorsrc[i]) { if (!ggml_mem_ranges_check_src(mrs, node.node->src[i])) { @@ -301,10 +301,10 @@ static std::vector ggml_metal_graph_optimize_reorder(const std::vector used(n, false); // the memory ranges for the set of currently concurrent nodes - ggml_mem_ranges * mrs0 = ggml_mem_ranges_init(0); + ggml_mem_ranges_t mrs0 = ggml_mem_ranges_init(0); // the memory ranges for the set of nodes that haven't been processed yet, when looking forward for a node to reorder - ggml_mem_ranges * mrs1 = ggml_mem_ranges_init(0); + ggml_mem_ranges_t mrs1 = ggml_mem_ranges_init(0); for (int i0 = 0; i0 < n; i0++) { if (used[i0]) { @@ -375,7 +375,7 @@ static std::vector ggml_metal_graph_optimize_reorder(const std::vectorn_nodes; diff --git a/ggml/src/ggml-metal/ggml-metal-common.h b/ggml/src/ggml-metal/ggml-metal-common.h index c1402895b9..3acbc6ae17 100644 --- a/ggml/src/ggml-metal/ggml-metal-common.h +++ b/ggml/src/ggml-metal/ggml-metal-common.h @@ -25,27 +25,27 @@ enum ggml_mem_range_type { // can be added to the set without violating the constraints (i.e. if it can be executed concurrently with the // tasks already in the set) // -struct ggml_mem_ranges; +typedef struct ggml_mem_ranges * ggml_mem_ranges_t; -struct ggml_mem_ranges * ggml_mem_ranges_init(int debug); -void ggml_mem_ranges_free(struct ggml_mem_ranges * mrs); +ggml_mem_ranges_t ggml_mem_ranges_init(int debug); +void ggml_mem_ranges_free(ggml_mem_ranges_t mrs); // remove all ranges from the set -void ggml_mem_ranges_reset(struct ggml_mem_ranges * mrs); +void ggml_mem_ranges_reset(ggml_mem_ranges_t mrs); // add src or dst ranges to track -bool ggml_mem_ranges_add(struct ggml_mem_ranges * mrs, const struct ggml_tensor * tensor); +bool ggml_mem_ranges_add(ggml_mem_ranges_t mrs, const struct ggml_tensor * tensor); // return false if: // - new src range overlaps with any existing dst range // - new dst range overlaps with any existing range (src or dst) -bool ggml_mem_ranges_check(const struct ggml_mem_ranges * mrs, const struct ggml_tensor * tensor); +bool ggml_mem_ranges_check(ggml_mem_ranges_t mrs, const struct ggml_tensor * tensor); // reorder the nodes in the graph to improve concurrency, while respecting fusion // // note: this implementation is generic and not specific to metal // if it proves to work well, we can start using it for other backends in the future -void ggml_metal_graph_optimize(struct ggml_cgraph * gf); +void ggml_graph_optimize(struct ggml_cgraph * gf); #ifdef __cplusplus } diff --git a/ggml/src/ggml-metal/ggml-metal-context.h b/ggml/src/ggml-metal/ggml-metal-context.h new file mode 100644 index 0000000000..ec2b686b73 --- /dev/null +++ b/ggml/src/ggml-metal/ggml-metal-context.h @@ -0,0 +1,33 @@ +#pragma once + +#include "ggml-metal-device.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// +// backend context +// + +typedef struct ggml_metal * ggml_metal_t; + +ggml_metal_t ggml_metal_init(ggml_metal_device_t dev); +void ggml_metal_free(ggml_metal_t ctx); + +void ggml_metal_synchronize(ggml_metal_t ctx); + +void ggml_metal_set_tensor_async(ggml_metal_t ctx, struct ggml_tensor * tensor, const void * data, size_t offset, size_t size); +void ggml_metal_get_tensor_async(ggml_metal_t ctx, const struct ggml_tensor * tensor, void * data, size_t offset, size_t size); + +enum ggml_status ggml_metal_graph_compute (ggml_metal_t ctx, struct ggml_cgraph * gf); +void ggml_metal_graph_optimize(ggml_metal_t ctx, struct ggml_cgraph * gf); + +void ggml_metal_set_n_cb (ggml_metal_t ctx, int n_cb); +void ggml_metal_set_abort_callback (ggml_metal_t ctx, ggml_abort_callback abort_callback, void * user_data); +bool ggml_metal_supports_family (ggml_metal_t ctx, int family); +void ggml_metal_capture_next_compute(ggml_metal_t ctx); + +#ifdef __cplusplus +} +#endif diff --git a/ggml/src/ggml-metal/ggml-metal-context.m b/ggml/src/ggml-metal/ggml-metal-context.m new file mode 100644 index 0000000000..af9ff21436 --- /dev/null +++ b/ggml/src/ggml-metal/ggml-metal-context.m @@ -0,0 +1,575 @@ +#import "ggml-metal-context.h" + +#import "ggml-impl.h" +#import "ggml-backend-impl.h" + +#import "ggml-metal-impl.h" +#import "ggml-metal-common.h" +#import "ggml-metal-ops.h" + +#import + +#import + +#undef MIN +#undef MAX +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +// max number of MTLCommandBuffer used to submit a graph for processing +#define GGML_METAL_MAX_COMMAND_BUFFERS 8 + +struct ggml_metal_command_buffer { + id obj; +}; + +struct ggml_metal { + id device; + id queue; // currently a pointer to the device queue, but might become separate queue [TAG_QUEUE_PER_BACKEND] + + ggml_metal_device_t dev; + ggml_metal_library_t lib; + + dispatch_queue_t d_queue; + + // additional, inference-time compiled pipelines + ggml_metal_pipelines_t pipelines_ext; + + bool use_bfloat; + bool use_fusion; + bool use_concurrency; + bool use_graph_optimize; + + int debug_graph; + int debug_fusion; + + // how many times a given op was fused + uint64_t fuse_cnt[GGML_OP_COUNT]; + + // capture state + bool capture_next_compute; + bool capture_started; + + id capture_scope; + + // command buffer state + int n_cb; // number of extra threads used to submit the command buffers + int n_nodes_0; // number of nodes submitted by the main thread + int n_nodes_1; // remaining number of nodes submitted by the n_cb threads + int n_nodes_per_cb; + + struct ggml_cgraph * gf; + + // the callback given to the thread pool + void (^encode_async)(size_t ith); + + // n_cb command buffers + 1 used by the main thread + struct ggml_metal_command_buffer cmd_bufs[GGML_METAL_MAX_COMMAND_BUFFERS + 1]; + + // extra command buffers for things like getting, setting and copying tensors + NSMutableArray * cmd_bufs_ext; + + // the last command buffer queued into the Metal queue with operations relevant to the current Metal backend + id cmd_buf_last; + + // abort ggml_metal_graph_compute if callback returns true + ggml_abort_callback abort_callback; + void * abort_callback_data; +}; + +ggml_metal_t ggml_metal_init(ggml_metal_device_t dev) { + GGML_LOG_INFO("%s: allocating\n", __func__); + +#if TARGET_OS_OSX && !GGML_METAL_NDEBUG + // Show all the Metal device instances in the system + NSArray * devices = MTLCopyAllDevices(); + for (id device in devices) { + GGML_LOG_INFO("%s: found device: %s\n", __func__, [[device name] UTF8String]); + } + [devices release]; // since it was created by a *Copy* C method +#endif + + // init context + ggml_metal_t res = calloc(1, sizeof(struct ggml_metal)); + + res->device = ggml_metal_device_get_obj(dev); + + GGML_LOG_INFO("%s: picking default device: %s\n", __func__, [[res->device name] UTF8String]); + + // TODO: would it be better to have one queue for the backend and one queue for the device? + // the graph encoders and async ops would use the backend queue while the sync ops would use the device queue? + //res->queue = [device newCommandQueue]; [TAG_QUEUE_PER_BACKEND] + res->queue = ggml_metal_device_get_queue(dev); + if (res->queue == nil) { + GGML_LOG_ERROR("%s: error: failed to create command queue\n", __func__); + return NULL; + } + + res->dev = dev; + res->lib = ggml_metal_device_get_library(dev); + if (res->lib == NULL) { + GGML_LOG_WARN("%s: the device does not have a precompiled Metal library - this is unexpected\n", __func__); + GGML_LOG_WARN("%s: will try to compile it on the fly\n", __func__); + + res->lib = ggml_metal_library_init(dev); + if (res->lib == NULL) { + GGML_LOG_ERROR("%s: error: failed to initialize the Metal library\n", __func__); + + free(res); + + return NULL; + } + } + + const struct ggml_metal_device_props * props_dev = ggml_metal_device_get_props(dev); + + res->d_queue = dispatch_queue_create("ggml-metal", DISPATCH_QUEUE_CONCURRENT); + + res->use_bfloat = props_dev->has_bfloat; + res->use_fusion = getenv("GGML_METAL_FUSION_DISABLE") == nil; + res->use_concurrency = getenv("GGML_METAL_CONCURRENCY_DISABLE") == nil; + + { + const char * val = getenv("GGML_METAL_GRAPH_DEBUG"); + res->debug_graph = val ? atoi(val) : 0; + } + + { + const char * val = getenv("GGML_METAL_FUSION_DEBUG"); + res->debug_fusion = val ? atoi(val) : 0; + } + + res->use_graph_optimize = true; + + if (getenv("GGML_METAL_GRAPH_OPTIMIZE_DISABLE") != NULL) { + res->use_graph_optimize = false; + } + + memset(res->fuse_cnt, 0, sizeof(res->fuse_cnt)); + + GGML_LOG_INFO("%s: use bfloat = %s\n", __func__, res->use_bfloat ? "true" : "false"); + GGML_LOG_INFO("%s: use fusion = %s\n", __func__, res->use_fusion ? "true" : "false"); + GGML_LOG_INFO("%s: use concurrency = %s\n", __func__, res->use_concurrency ? "true" : "false"); + GGML_LOG_INFO("%s: use graph optimize = %s\n", __func__, res->use_graph_optimize ? "true" : "false"); + + res->capture_next_compute = false; + res->capture_started = false; + res->capture_scope = nil; + + res->gf = nil; + res->encode_async = nil; + for (int i = 0; i < GGML_METAL_MAX_COMMAND_BUFFERS; ++i) { + res->cmd_bufs[i].obj = nil; + } + + res->cmd_bufs_ext = [[NSMutableArray alloc] init]; + + res->cmd_buf_last = nil; + + res->pipelines_ext = ggml_metal_pipelines_init(); + + return res; +} + +void ggml_metal_free(ggml_metal_t ctx) { + GGML_LOG_INFO("%s: deallocating\n", __func__); + + for (int i = 0; i < GGML_METAL_MAX_COMMAND_BUFFERS; ++i) { + if (ctx->cmd_bufs[i].obj) { + [ctx->cmd_bufs[i].obj release]; + } + } + + for (int i = 0; i < (int) ctx->cmd_bufs_ext.count; ++i) { + if (ctx->cmd_bufs_ext[i]) { + [ctx->cmd_bufs_ext[i] release]; + } + } + + [ctx->cmd_bufs_ext removeAllObjects]; + [ctx->cmd_bufs_ext release]; + + if (ctx->pipelines_ext) { + ggml_metal_pipelines_free(ctx->pipelines_ext); + ctx->pipelines_ext = nil; + } + + if (ctx->debug_fusion > 0) { + GGML_LOG_DEBUG("%s: fusion stats:\n", __func__); + for (int i = 0; i < GGML_OP_COUNT; i++) { + if (ctx->fuse_cnt[i] == 0) { + continue; + } + + // note: cannot use ggml_log here + GGML_LOG_DEBUG("%s: - %s: %" PRIu64 "\n", __func__, ggml_op_name((enum ggml_op) i), ctx->fuse_cnt[i]); + } + } + + Block_release(ctx->encode_async); + + //[ctx->queue release]; // [TAG_QUEUE_PER_BACKEND] + + dispatch_release(ctx->d_queue); + + free(ctx); +} + +void ggml_metal_synchronize(ggml_metal_t ctx) { + // wait for any backend operations to finish + if (ctx->cmd_buf_last) { + [ctx->cmd_buf_last waitUntilCompleted]; + ctx->cmd_buf_last = nil; + } + + // release any completed command buffers + if (ctx->cmd_bufs_ext.count > 0) { + for (size_t i = 0; i < ctx->cmd_bufs_ext.count; ++i) { + id cmd_buf = ctx->cmd_bufs_ext[i]; + + MTLCommandBufferStatus status = [cmd_buf status]; + if (status != MTLCommandBufferStatusCompleted) { + GGML_LOG_ERROR("%s: error: command buffer %d failed with status %d\n", __func__, (int) i, (int) status); + if (status == MTLCommandBufferStatusError) { + GGML_LOG_ERROR("error: %s\n", [[cmd_buf error].localizedDescription UTF8String]); + } + GGML_ABORT("fatal error"); + } + + [cmd_buf release]; + } + + [ctx->cmd_bufs_ext removeAllObjects]; + } +} + +static struct ggml_metal_buffer_id ggml_metal_get_buffer_id(const struct ggml_tensor * t) { + if (!t) { + return (struct ggml_metal_buffer_id) { nil, 0 }; + } + + ggml_backend_buffer_t buffer = t->view_src ? t->view_src->buffer : t->buffer; + + return ggml_metal_buffer_get_id(buffer->context, t); +} + +void ggml_metal_set_tensor_async(ggml_metal_t ctx, struct ggml_tensor * tensor, const void * data, size_t offset, size_t size) { + @autoreleasepool { + // wrap the source data into a Metal buffer + id buf_src = [ctx->device newBufferWithBytes:data + length:size + options:MTLResourceStorageModeShared]; + + struct ggml_metal_buffer_id bid_dst = ggml_metal_get_buffer_id(tensor); + if (bid_dst.metal == nil) { + GGML_ABORT("%s: failed to find buffer for tensor '%s'\n", __func__, tensor->name); + } + + bid_dst.offs += offset; + + // queue the copy operation into the queue of the Metal context + // this will be queued at the end, after any currently ongoing GPU operations + id cmd_buf = [ctx->queue commandBufferWithUnretainedReferences]; + id encoder = [cmd_buf blitCommandEncoder]; + + [encoder copyFromBuffer:buf_src + sourceOffset:0 + toBuffer:bid_dst.metal + destinationOffset:bid_dst.offs + size:size]; + + [encoder endEncoding]; + [cmd_buf commit]; + + // do not wait here for completion + //[cmd_buf waitUntilCompleted]; + + // instead, remember a reference to the command buffer and wait for it later if needed + [ctx->cmd_bufs_ext addObject:cmd_buf]; + ctx->cmd_buf_last = cmd_buf; + + [cmd_buf retain]; + } +} + +void ggml_metal_get_tensor_async(ggml_metal_t ctx, const struct ggml_tensor * tensor, void * data, size_t offset, size_t size) { + @autoreleasepool { + id buf_dst = [ctx->device newBufferWithBytesNoCopy:data + length:size + options:MTLResourceStorageModeShared + deallocator:nil]; + + struct ggml_metal_buffer_id bid_src = ggml_metal_get_buffer_id(tensor); + if (bid_src.metal == nil) { + GGML_ABORT("%s: failed to find buffer for tensor '%s'\n", __func__, tensor->name); + } + + bid_src.offs += offset; + + // queue the copy operation into the queue of the Metal context + // this will be queued at the end, after any currently ongoing GPU operations + id cmd_buf = [ctx->queue commandBufferWithUnretainedReferences]; + id encoder = [cmd_buf blitCommandEncoder]; + + [encoder copyFromBuffer:bid_src.metal + sourceOffset:bid_src.offs + toBuffer:buf_dst + destinationOffset:0 + size:size]; + + [encoder endEncoding]; + [cmd_buf commit]; + + // do not wait here for completion + //[cmd_buf waitUntilCompleted]; + + // instead, remember a reference to the command buffer and wait for it later if needed + [ctx->cmd_bufs_ext addObject:cmd_buf]; + ctx->cmd_buf_last = cmd_buf; + + [cmd_buf retain]; + } +} + +enum ggml_status ggml_metal_graph_compute(ggml_metal_t ctx, struct ggml_cgraph * gf) { + // number of nodes encoded by the main thread (empirically determined) + const int n_main = 64; + + // number of threads in addition to the main thread + const int n_cb = ctx->n_cb; + + // submit the ggml compute graph to the GPU by creating command buffers and encoding the ops in them + // the first n_nodes_0 are encoded and submitted for processing directly by the calling thread + // while these nodes are processing, we start n_cb threads to enqueue the rest of the nodes + // each thread creates it's own command buffer and enqueues the ops in parallel + // + // tests on M1 Pro and M2 Ultra using LLaMA models, show that optimal values for n_cb are 1 or 2 + + @autoreleasepool { + ctx->gf = gf; + + ctx->n_nodes_0 = MIN(n_main, gf->n_nodes); + ctx->n_nodes_1 = gf->n_nodes - ctx->n_nodes_0; + + ctx->n_nodes_per_cb = (ctx->n_nodes_1 + ctx->n_cb - 1) / ctx->n_cb; + + const bool use_capture = ctx->capture_next_compute; + if (use_capture) { + ctx->capture_next_compute = false; + + // make sure all previous computations have finished before starting the capture + if (ctx->cmd_buf_last) { + [ctx->cmd_buf_last waitUntilCompleted]; + ctx->cmd_buf_last = nil; + } + + if (!ctx->capture_started) { + // create capture scope + ctx->capture_scope = [[MTLCaptureManager sharedCaptureManager] newCaptureScopeWithDevice:ctx->device]; + + MTLCaptureDescriptor * descriptor = [MTLCaptureDescriptor new]; + descriptor.captureObject = ctx->capture_scope; + descriptor.destination = MTLCaptureDestinationGPUTraceDocument; + descriptor.outputURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"/tmp/perf-metal.gputrace"]]; + + NSError * error = nil; + if (![[MTLCaptureManager sharedCaptureManager] startCaptureWithDescriptor:descriptor error:&error]) { + GGML_LOG_ERROR("%s: error: unable to start capture '%s'\n", __func__, [[error localizedDescription] UTF8String]); + } else { + [ctx->capture_scope beginScope]; + ctx->capture_started = true; + } + } + } + + // the main thread commits the first few commands immediately + // cmd_buf[n_cb] + { + id cmd_buf = [ctx->queue commandBufferWithUnretainedReferences]; + [cmd_buf retain]; + + if (ctx->cmd_bufs[n_cb].obj) { + [ctx->cmd_bufs[n_cb].obj release]; + } + ctx->cmd_bufs[n_cb].obj = cmd_buf; + + [cmd_buf enqueue]; + + ctx->encode_async(n_cb); + } + + // remember the command buffer for the next iteration + ctx->cmd_buf_last = ctx->cmd_bufs[n_cb].obj; + + // prepare the rest of the command buffers asynchronously (optional) + // cmd_buf[0.. n_cb) + for (int cb_idx = 0; cb_idx < n_cb; ++cb_idx) { + id cmd_buf = [ctx->queue commandBufferWithUnretainedReferences]; + [cmd_buf retain]; + + if (ctx->cmd_bufs[cb_idx].obj) { + [ctx->cmd_bufs[cb_idx].obj release]; + } + ctx->cmd_bufs[cb_idx].obj = cmd_buf; + + // always enqueue the first two command buffers + // enqueue all of the command buffers if we don't need to abort + if (cb_idx < 2 || ctx->abort_callback == NULL) { + [cmd_buf enqueue]; + + // update the pointer to the last queued command buffer + // this is needed to implement synchronize() + ctx->cmd_buf_last = cmd_buf; + } + } + + dispatch_apply(n_cb, ctx->d_queue, ctx->encode_async); + + // for debugging: block until graph is computed + //[ctx->cmd_buf_last waitUntilCompleted]; + + // enter here only when capturing in order to wait for all computation to finish + // otherwise, we leave the graph to compute asynchronously + if (!use_capture && ctx->capture_started) { + // wait for completion and check status of each command buffer + // needed to detect if the device ran out-of-memory for example (#1881) + { + id cmd_buf = ctx->cmd_bufs[n_cb].obj; + [cmd_buf waitUntilCompleted]; + + MTLCommandBufferStatus status = [cmd_buf status]; + if (status != MTLCommandBufferStatusCompleted) { + GGML_LOG_INFO("%s: command buffer %d failed with status %lu\n", __func__, n_cb, status); + if (status == MTLCommandBufferStatusError) { + GGML_LOG_INFO("error: %s\n", [[cmd_buf error].localizedDescription UTF8String]); + } + + return GGML_STATUS_FAILED; + } + } + + for (int i = 0; i < n_cb; ++i) { + id cmd_buf = ctx->cmd_bufs[i].obj; + [cmd_buf waitUntilCompleted]; + + MTLCommandBufferStatus status = [cmd_buf status]; + if (status != MTLCommandBufferStatusCompleted) { + GGML_LOG_INFO("%s: command buffer %d failed with status %lu\n", __func__, i, status); + if (status == MTLCommandBufferStatusError) { + GGML_LOG_INFO("error: %s\n", [[cmd_buf error].localizedDescription UTF8String]); + } + + return GGML_STATUS_FAILED; + } + + id next_buffer = (i + 1 < n_cb ? ctx->cmd_bufs[i + 1].obj : nil); + if (!next_buffer) { + continue; + } + + const bool next_queued = ([next_buffer status] != MTLCommandBufferStatusNotEnqueued); + if (next_queued) { + continue; + } + + if (ctx->abort_callback && ctx->abort_callback(ctx->abort_callback_data)) { + GGML_LOG_INFO("%s: command buffer %d aborted", __func__, i); + return GGML_STATUS_ABORTED; + } + + [next_buffer commit]; + } + + [ctx->capture_scope endScope]; + [[MTLCaptureManager sharedCaptureManager] stopCapture]; + } + } + + return GGML_STATUS_SUCCESS; +} + +void ggml_metal_graph_optimize(ggml_metal_t ctx, struct ggml_cgraph * gf) { + //const int64_t t_start = ggml_time_us(); + + if (ctx->use_graph_optimize) { + ggml_graph_optimize(gf); + } + + //printf("%s: graph optimize took %.3f ms\n", __func__, (ggml_time_us() - t_start) / 1000.0); +} + +void ggml_metal_set_n_cb(ggml_metal_t ctx, int n_cb) { + if (ctx->n_cb != n_cb) { + ctx->n_cb = MIN(n_cb, GGML_METAL_MAX_COMMAND_BUFFERS); + + if (ctx->n_cb > 2) { + GGML_LOG_WARN("%s: n_cb = %d, using n_cb > 2 is not recommended and can degrade the performance in some cases\n", __func__, n_cb); + } + } + + if (ctx->encode_async) { + Block_release(ctx->encode_async); + } + + ctx->encode_async = Block_copy(^(size_t iter) { + const int cb_idx = iter; + const int n_cb_l = ctx->n_cb; + + const int n_nodes_0 = ctx->n_nodes_0; + const int n_nodes_1 = ctx->n_nodes_1; + + const int n_nodes_per_cb = ctx->n_nodes_per_cb; + + int idx_start = 0; + int idx_end = n_nodes_0; + + if (cb_idx < n_cb_l) { + idx_start = n_nodes_0 + ( (cb_idx + 0) * n_nodes_per_cb); + idx_end = n_nodes_0 + (MIN((cb_idx == n_cb_l - 1) ? n_nodes_1 : (cb_idx + 1) * n_nodes_per_cb, n_nodes_1)); + } + + id cmd_buf = ctx->cmd_bufs[cb_idx].obj; + + ggml_metal_op_t ctx_op = ggml_metal_op_init( + ctx->dev, + cmd_buf, + ctx->gf, + idx_start, + idx_end, + ctx->use_fusion, + ctx->use_concurrency, + ctx->capture_next_compute, + ctx->debug_graph, + ctx->debug_fusion); + + for (int idx = idx_start; idx < idx_end;) { + const int res = ggml_metal_op_encode(ctx_op, idx); + if (res == 0) { + break; + } + + idx += res; + } + + ggml_metal_op_free(ctx_op); + + if (cb_idx < 2 || ctx->abort_callback == NULL) { + [cmd_buf commit]; + } + }); +} + +void ggml_metal_set_abort_callback(ggml_metal_t ctx, ggml_abort_callback abort_callback, void * user_data) { + ctx->abort_callback = abort_callback; + ctx->abort_callback_data = user_data; +} + +bool ggml_metal_supports_family(ggml_metal_t ctx, int family) { + GGML_ASSERT(ctx->device != nil); + + return [ctx->device supportsFamily:(MTLGPUFamilyApple1 + family - 1)]; +} + +void ggml_metal_capture_next_compute(ggml_metal_t ctx) { + ctx->capture_next_compute = true; +} diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp new file mode 100644 index 0000000000..5f04789967 --- /dev/null +++ b/ggml/src/ggml-metal/ggml-metal-device.cpp @@ -0,0 +1,1366 @@ +#include "ggml-metal-device.h" + +#include "ggml-metal-impl.h" + +#include "ggml-impl.h" + +#include +#include +#include +#include + +struct ggml_metal_device_deleter { + void operator()(ggml_metal_device_t ctx) { + ggml_metal_device_free(ctx); + } +}; + +typedef std::unique_ptr ggml_metal_device_ptr; + +ggml_metal_device_t ggml_metal_device_get(void) { + static ggml_metal_device_ptr ctx { ggml_metal_device_init() }; + + return ctx.get(); +} + +struct ggml_metal_pipelines { + std::unordered_map data; +}; + +ggml_metal_pipelines_t ggml_metal_pipelines_init(void) { + ggml_metal_pipelines_t res = new ggml_metal_pipelines(); + + return res; +} + +void ggml_metal_pipelines_free(ggml_metal_pipelines_t ppls) { + for (auto it = ppls->data.begin(); it != ppls->data.end(); ++it) { + ggml_metal_pipeline_free(it->second); + } + + delete ppls; +} + +void ggml_metal_pipelines_add(ggml_metal_pipelines_t ppls, const char * name, ggml_metal_pipeline_t pipeline) { + ppls->data[name] = pipeline; +} + +ggml_metal_pipeline_t ggml_metal_pipelines_get(ggml_metal_pipelines_t ppls, const char * name) { + if (ppls->data.find(name) == ppls->data.end()) { + return nullptr; + } + + return ppls->data[name]; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_base(ggml_metal_library_t lib, ggml_op op) { + char base[256]; + char name[256]; + + const char * op_str = "undefined"; + switch (op) { + case GGML_OP_ADD_ID: op_str = "add_id"; break; + case GGML_OP_CONCAT: op_str = "concat"; break; + default: GGML_ABORT("fatal error"); + }; + + snprintf(base, 256, "kernel_%s", op_str); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_cpy(ggml_metal_library_t lib, ggml_type tsrc, ggml_type tdst) { + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_cpy_%s_%s", ggml_type_name(tsrc), ggml_type_name(tdst)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_pool_2d(ggml_metal_library_t lib, const ggml_tensor * op, ggml_op_pool op_pool) { + GGML_ASSERT(ggml_is_contiguous(op->src[0])); + GGML_ASSERT(op->src[0]->type == GGML_TYPE_F32 && op->src[0]->type == op->type); + + const char * pool_str = "undefined"; + switch (op_pool) { + case GGML_OP_POOL_AVG: pool_str = "avg"; break; + case GGML_OP_POOL_MAX: pool_str = "max"; break; + default: GGML_ASSERT(false && "not implemented"); + }; + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_pool_2d_%s_%s", pool_str, ggml_type_name(op->src[0]->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_get_rows(ggml_metal_library_t lib, ggml_type tsrc) { + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_get_rows_%s", ggml_type_name(tsrc)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_set_rows(ggml_metal_library_t lib, ggml_type tdst) { + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_set_rows_%s", ggml_type_name(tdst)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_repeat(ggml_metal_library_t lib, ggml_type tsrc) { + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_repeat_%s", ggml_type_name(tsrc)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_unary(ggml_metal_library_t lib, const ggml_tensor * op) { + GGML_ASSERT(ggml_is_contiguous(op->src[0])); + + char base[256]; + char name[256]; + + const int64_t n = ggml_nelements(op); + + const char * op_str = "undefined"; + switch (op->op) { + case GGML_OP_SCALE: op_str = "scale"; break; + case GGML_OP_CLAMP: op_str = "clamp"; break; + case GGML_OP_SQR: op_str = "sqr"; break; + case GGML_OP_SQRT: op_str = "sqrt"; break; + case GGML_OP_SIN: op_str = "sin"; break; + case GGML_OP_COS: op_str = "cos"; break; + case GGML_OP_LOG: op_str = "log"; break; + case GGML_OP_LEAKY_RELU: op_str = "leaky_relu"; break; + case GGML_OP_UNARY: + switch (ggml_get_unary_op(op)) { + case GGML_UNARY_OP_TANH: op_str = "tanh"; break; + case GGML_UNARY_OP_RELU: op_str = "relu"; break; + case GGML_UNARY_OP_SIGMOID: op_str = "sigmoid"; break; + case GGML_UNARY_OP_GELU: op_str = "gelu"; break; + case GGML_UNARY_OP_GELU_ERF: op_str = "gelu_erf"; break; + case GGML_UNARY_OP_GELU_QUICK: op_str = "gelu_quick"; break; + case GGML_UNARY_OP_SILU: op_str = "silu"; break; + case GGML_UNARY_OP_ELU: op_str = "elu"; break; + case GGML_UNARY_OP_NEG: op_str = "neg"; break; + case GGML_UNARY_OP_ABS: op_str = "abs"; break; + case GGML_UNARY_OP_SGN: op_str = "sgn"; break; + case GGML_UNARY_OP_STEP: op_str = "step"; break; + case GGML_UNARY_OP_HARDSWISH: op_str = "hardswish"; break; + case GGML_UNARY_OP_HARDSIGMOID: op_str = "hardsigmoid"; break; + case GGML_UNARY_OP_EXP: op_str = "exp"; break; + default: GGML_ABORT("fatal error"); + } break; + default: GGML_ABORT("fatal error"); + }; + + const char * suffix = ""; + if (n % 4 == 0) { + suffix = "_4"; + } + + snprintf(base, 256, "kernel_%s_%s%s", op_str, ggml_type_name(op->src[0]->type), suffix); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_glu(ggml_metal_library_t lib, const ggml_tensor * op) { + GGML_ASSERT(ggml_is_contiguous_1(op->src[0])); + + char base[256]; + char name[256]; + + const char * op_str = "undefined"; + switch (op->op) { + case GGML_OP_GLU: + switch (ggml_get_glu_op(op)) { + case GGML_GLU_OP_REGLU: op_str = "reglu"; break; + case GGML_GLU_OP_GEGLU: op_str = "geglu"; break; + case GGML_GLU_OP_SWIGLU: op_str = "swiglu"; break; + case GGML_GLU_OP_SWIGLU_OAI: op_str = "swiglu_oai"; break; + case GGML_GLU_OP_GEGLU_ERF: op_str = "geglu_erf"; break; + case GGML_GLU_OP_GEGLU_QUICK: op_str = "geglu_quick"; break; + default: GGML_ABORT("fatal error"); + } break; + default: GGML_ABORT("fatal error"); + }; + + snprintf(base, 256, "kernel_%s_%s", op_str, ggml_type_name(op->src[0]->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_sum_rows(ggml_metal_library_t lib, const ggml_tensor * op) { + GGML_ASSERT(op->src[0]->nb[0] == ggml_type_size(op->src[0]->type)); + + char base[256]; + char name[256]; + + const char * op_str = "undefined"; + switch (op->op) { + case GGML_OP_SUM_ROWS: + op_str = "sum_rows"; break; + case GGML_OP_MEAN: + op_str = "mean"; break; + default: GGML_ABORT("fatal error"); + }; + + snprintf(base, 256, "kernel_%s_%s", op_str, ggml_type_name(op->src[0]->type)); + + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_smem(res, 32*sizeof(float)); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_soft_max(ggml_metal_library_t lib, const ggml_tensor * op) { + GGML_ASSERT(!op->src[1] || op->src[1]->type == GGML_TYPE_F16 || op->src[1]->type == GGML_TYPE_F32); + + char base[256]; + char name[256]; + + const char * suffix = ""; + + if (op->src[0]->ne[0] % 4 == 0) { + suffix = "_4"; + } + + const ggml_type tsrc1 = op->src[1] ? op->src[1]->type : GGML_TYPE_F32; + + snprintf(base, 256, "kernel_soft_max_%s%s", ggml_type_name(tsrc1), suffix); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_smem(res, 32*sizeof(float)); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_ssm_conv(ggml_metal_library_t lib, const ggml_tensor * op) { + GGML_ASSERT(op->src[0]->type == GGML_TYPE_F32); + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + + GGML_ASSERT(ggml_is_contiguous(op->src[0])); + GGML_ASSERT(ggml_is_contiguous(op->src[1])); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_ssm_conv_%s_%s", ggml_type_name(op->src[0]->type), ggml_type_name(op->src[1]->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_ssm_scan(ggml_metal_library_t lib, const ggml_tensor * op) { + char base[256]; + char name[256]; + + if (op->src[3]->ne[0] == 1) { + snprintf(base, 256, "kernel_ssm_scan_group_%s", ggml_type_name(op->src[0]->type)); + } else { + snprintf(base, 256, "kernel_ssm_scan_%s", ggml_type_name(op->src[0]->type)); + } + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_smem(res, 32*sizeof(float)); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_rwkv(ggml_metal_library_t lib, const ggml_tensor * op) { + char base[256]; + char name[256]; + + const int64_t C = op->ne[0]; + const int64_t H = op->src[0]->ne[1]; + + switch (op->op) { + case GGML_OP_RWKV_WKV6: + { + GGML_ASSERT(op->src[5]->type == GGML_TYPE_F32); + GGML_ASSERT(C % H == 0); + GGML_ASSERT(C / H == 64); + + snprintf(base, 256, "kernel_rwkv_wkv6_%s", ggml_type_name(op->src[0]->type)); + } break; + case GGML_OP_RWKV_WKV7: + { + GGML_ASSERT(op->src[6]->type == GGML_TYPE_F32); + GGML_ASSERT(C % H == 0); + GGML_ASSERT(C / H == 64); + + snprintf(base, 256, "kernel_rwkv_wkv7_%s", ggml_type_name(op->src[0]->type)); + } break; + default: + GGML_ABORT("fatal error"); + } + + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_ext(ggml_metal_library_t lib, ggml_type tsrc0, ggml_type tsrc1, int r1ptg) { + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_mul_mv_ext_%s_%s_r1_%d", ggml_type_name(tsrc0), ggml_type_name(tsrc1), r1ptg); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mm(ggml_metal_library_t lib, ggml_type tsrc0, ggml_type tsrc1) { + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_mul_mm_%s_%s", ggml_type_name(tsrc0), ggml_type_name(tsrc1)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_smem(res, 8192); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv(ggml_metal_library_t lib, const ggml_tensor * op) { + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + + char base[256]; + char name[256]; + + int nsg = 0; // number of simdgroups + int nr0 = 0; // number of src0 rows per simdgroup + int nr1 = 1; // number of src1 rows per threadgroup + + size_t smem = 0; // shared memory + + const ggml_type tsrc0 = op->src[0]->type; + const ggml_type tsrc1 = op->src[1]->type; + + const char * suffix = ""; + + // use custom matrix x vector kernel + switch (tsrc0) { + case GGML_TYPE_F32: + { + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + + nsg = 1; + nr0 = 1; + nr1 = 4; + if (ne00 == 4) { + nr0 = 32; + suffix = "_c4"; + } + } break; + case GGML_TYPE_F16: + case GGML_TYPE_BF16: + { + nsg = 1; + nr0 = 1; + if (op->src[1]->type == GGML_TYPE_F32) { + if (ne00 == 4) { + nr0 = 32; + nr1 = 4; + suffix = "_c4"; + } else if (ne11 * ne12 < 4) { + suffix = "_1row"; + } else if (ne00 >= 128 && ne01 >= 8 && ne00%4 == 0) { + suffix = "_l4"; + nr1 = ne11; + } else { + nr1 = 4; + } + } else { + nr1 = 4; + } + } break; + case GGML_TYPE_Q4_0: + { + nsg = N_SG_Q4_0; + nr0 = N_R0_Q4_0; + } break; + case GGML_TYPE_Q4_1: + { + nsg = N_SG_Q4_1; + nr0 = N_R0_Q4_1; + } break; + case GGML_TYPE_Q5_0: + { + nsg = N_SG_Q5_0; + nr0 = N_R0_Q5_0; + } break; + case GGML_TYPE_Q5_1: + { + nsg = N_SG_Q5_1; + nr0 = N_R0_Q5_1; + } break; + case GGML_TYPE_Q8_0: + { + nsg = N_SG_Q8_0; + nr0 = N_R0_Q8_0; + smem = 32*sizeof(float)*N_R0_Q8_0; + } break; + case GGML_TYPE_MXFP4: + { + nsg = N_SG_MXFP4; + nr0 = N_R0_MXFP4; + smem = 32*sizeof(float); + } break; + case GGML_TYPE_Q2_K: + { + nsg = N_SG_Q2_K; + nr0 = N_R0_Q2_K; + } break; + case GGML_TYPE_Q3_K: + { + nsg = N_SG_Q3_K; + nr0 = N_R0_Q3_K; + } break; + case GGML_TYPE_Q4_K: + { + nsg = N_SG_Q4_K; + nr0 = N_R0_Q4_K; + } break; + case GGML_TYPE_Q5_K: + { + nsg = N_SG_Q5_K; + nr0 = N_R0_Q5_K; + } break; + case GGML_TYPE_Q6_K: + { + nsg = N_SG_Q6_K; + nr0 = N_R0_Q6_K; + } break; + case GGML_TYPE_IQ2_XXS: + { + nsg = N_SG_IQ2_XXS; + nr0 = N_R0_IQ2_XXS; + smem = 256*8+128; + } break; + case GGML_TYPE_IQ2_XS: + { + nsg = N_SG_IQ2_XS; + nr0 = N_R0_IQ2_XS; + smem = 512*8+128; + } break; + case GGML_TYPE_IQ3_XXS: + { + nsg = N_SG_IQ3_XXS; + nr0 = N_R0_IQ3_XXS; + smem = 256*4+128; + } break; + case GGML_TYPE_IQ3_S: + { + nsg = N_SG_IQ3_S; + nr0 = N_R0_IQ3_S; + smem = 512*4; + } break; + case GGML_TYPE_IQ2_S: + { + nsg = N_SG_IQ2_S; + nr0 = N_R0_IQ2_S; + } break; + case GGML_TYPE_IQ1_S: + { + nsg = N_SG_IQ1_S; + nr0 = N_R0_IQ1_S; + } break; + case GGML_TYPE_IQ1_M: + { + nsg = N_SG_IQ1_M; + nr0 = N_R0_IQ1_M; + } break; + case GGML_TYPE_IQ4_NL: + { + nsg = N_SG_IQ4_NL; + nr0 = N_R0_IQ4_NL; + smem = 32*sizeof(float); + } break; + case GGML_TYPE_IQ4_XS: + { + nsg = N_SG_IQ4_XS; + nr0 = N_R0_IQ4_XS; + smem = 32*sizeof(float); + } break; + default: + { + GGML_LOG_ERROR("Asserting on type %d\n", (int) tsrc0); + GGML_ABORT("not implemented"); + } + }; + + snprintf(base, 256, "kernel_mul_mv_%s_%s%s", ggml_type_name(tsrc0), ggml_type_name(tsrc1), suffix); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_nr0 (res, nr0); + ggml_metal_pipeline_set_nr1 (res, nr1); + ggml_metal_pipeline_set_nsg (res, nsg); + ggml_metal_pipeline_set_smem(res, smem); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mm_id_map0(ggml_metal_library_t lib, int ne02, int ne20) { + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_mul_mm_id_map0_ne20_%d", ne20); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + const size_t smem = (size_t) ne02*ne20*sizeof(uint16_t); + + ggml_metal_pipeline_set_smem(res, smem); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mm_id(ggml_metal_library_t lib, ggml_type tsrc0, ggml_type tsrc1) { + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_mul_mm_id_%s_%s", ggml_type_name(tsrc0), ggml_type_name(tsrc1)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_smem(res, 8192); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_id(ggml_metal_library_t lib, const ggml_tensor * op) { + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + + char base[256]; + char name[256]; + + int nsg = 0; // number of simdgroups + int nr0 = 0; // number of src0 rows per simdgroup + int nr1 = 1; // number of src1 rows per threadgroup + + size_t smem = 0; // shared memory + + const ggml_type tsrc0 = op->src[0]->type; + const ggml_type tsrc1 = op->src[1]->type; + + // use custom matrix x vector kernel + switch (tsrc0) { + case GGML_TYPE_F32: + { + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + nsg = 1; + nr0 = 1; + } break; + case GGML_TYPE_F16: + { + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + nsg = 1; + nr0 = 1; + } break; + case GGML_TYPE_BF16: + { + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + nsg = 1; + nr0 = 1; + } break; + case GGML_TYPE_Q4_0: + { + nsg = N_SG_Q4_0; + nr0 = N_R0_Q4_0; + } break; + case GGML_TYPE_Q4_1: + { + nsg = N_SG_Q4_1; + nr0 = N_R0_Q4_1; + } break; + case GGML_TYPE_Q5_0: + { + nsg = N_SG_Q5_0; + nr0 = N_R0_Q5_0; + } break; + case GGML_TYPE_Q5_1: + { + nsg = N_SG_Q5_1; + nr0 = N_R0_Q5_1; + } break; + case GGML_TYPE_Q8_0: + { + nsg = N_SG_Q8_0; + nr0 = N_R0_Q8_0; + smem = 32*sizeof(float)*N_R0_Q8_0; + } break; + case GGML_TYPE_MXFP4: + { + nsg = N_SG_MXFP4; + nr0 = N_R0_MXFP4; + smem = 32*sizeof(float); + } break; + case GGML_TYPE_Q2_K: + { + nsg = N_SG_Q2_K; + nr0 = N_R0_Q2_K; + } break; + case GGML_TYPE_Q3_K: + { + nsg = N_SG_Q3_K; + nr0 = N_R0_Q3_K; + } break; + case GGML_TYPE_Q4_K: + { + nsg = N_SG_Q4_K; + nr0 = N_R0_Q4_K; + } break; + case GGML_TYPE_Q5_K: + { + nsg = N_SG_Q5_K; + nr0 = N_R0_Q5_K; + } break; + case GGML_TYPE_Q6_K: + { + nsg = N_SG_Q6_K; + nr0 = N_R0_Q6_K; + } break; + case GGML_TYPE_IQ2_XXS: + { + nsg = N_SG_IQ2_XXS; + nr0 = N_R0_IQ2_XXS; + smem = 256*8+128; + } break; + case GGML_TYPE_IQ2_XS: + { + nsg = N_SG_IQ2_XS; + nr0 = N_R0_IQ2_XS; + smem = 512*8+128; + } break; + case GGML_TYPE_IQ3_XXS: + { + nsg = N_SG_IQ3_XXS; + nr0 = N_R0_IQ3_XXS; + smem = 256*4+128; + } break; + case GGML_TYPE_IQ3_S: + { + nsg = N_SG_IQ3_S; + nr0 = N_R0_IQ3_S; + smem = 512*4; + } break; + case GGML_TYPE_IQ2_S: + { + nsg = N_SG_IQ2_S; + nr0 = N_R0_IQ2_S; + } break; + case GGML_TYPE_IQ1_S: + { + nsg = N_SG_IQ1_S; + nr0 = N_R0_IQ1_S; + } break; + case GGML_TYPE_IQ1_M: + { + nsg = N_SG_IQ1_M; + nr0 = N_R0_IQ1_M; + } break; + case GGML_TYPE_IQ4_NL: + { + nsg = N_SG_IQ4_NL; + nr0 = N_R0_IQ4_NL; + smem = 32*sizeof(float); + } break; + case GGML_TYPE_IQ4_XS: + { + nsg = N_SG_IQ4_XS; + nr0 = N_R0_IQ4_XS; + smem = 32*sizeof(float); + } break; + default: + { + GGML_LOG_ERROR("Asserting on type %d\n", (int)op->src[2]->type); + GGML_ABORT("not implemented"); + } + }; + + snprintf(base, 256, "kernel_mul_mv_id_%s_%s", ggml_type_name(tsrc0), ggml_type_name(tsrc1)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_nr0 (res, nr0); + ggml_metal_pipeline_set_nr1 (res, nr1); + ggml_metal_pipeline_set_nsg (res, nsg); + ggml_metal_pipeline_set_smem(res, smem); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_argmax(ggml_metal_library_t lib, const ggml_tensor * op) { + GGML_ASSERT(op->src[0]->type == GGML_TYPE_F32); + GGML_ASSERT(ggml_is_contiguous_1(op->src[0])); + GGML_ASSERT(op->src[0]->nb[0] == ggml_type_size(op->src[0]->type)); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_argmax_%s", ggml_type_name(op->src[0]->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_smem(res, 32*(sizeof(float) + sizeof(int32_t))); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_argsort(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_ARGSORT); + + char base[256]; + char name[256]; + + ggml_sort_order order = (ggml_sort_order) op->op_params[0]; + + const char * order_str = "undefined"; + switch (order) { + case GGML_SORT_ORDER_ASC: order_str = "asc"; break; + case GGML_SORT_ORDER_DESC: order_str = "desc"; break; + default: GGML_ABORT("fatal error"); + }; + + snprintf(base, 256, "kernel_argsort_%s_%s_%s", ggml_type_name(op->src[0]->type), ggml_type_name(op->type), order_str); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_flash_attn_ext( + ggml_metal_library_t lib, + const ggml_tensor * op, + bool has_mask, + bool has_sinks, + bool has_bias, + bool has_scap, + int32_t nsg) { + assert(op->op == GGML_OP_FLASH_ATTN_EXT); + + char base[256]; + char name[256]; + + const int32_t dk = (int32_t) op->src[1]->ne[0]; + const int32_t dv = (int32_t) op->src[2]->ne[0]; + + const int32_t ns10 = op->src[1]->nb[1]/op->src[1]->nb[0]; + const int32_t ns20 = op->src[2]->nb[1]/op->src[2]->nb[0]; + + snprintf(base, 256, "kernel_%s_%s_dk%d_dv%d", + "flash_attn_ext", + ggml_type_name(op->src[1]->type), + dk, + dv); + + snprintf(name, 256, "kernel_%s_%s_dk%d_dv%d_mask=%d_sinks=%d_bias=%d_scap=%d_ns10=%d_ns20=%d_nsg=%d", + "flash_attn_ext", + ggml_type_name(op->src[1]->type), + dk, + dv, + has_mask, + has_sinks, + has_bias, + has_scap, + ns10, + ns20, + nsg); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + ggml_metal_cv_t cv = ggml_metal_cv_init(); + + ggml_metal_cv_set_bool(cv, has_mask, FC_FLASH_ATTN_EXT + 0); + ggml_metal_cv_set_bool(cv, has_sinks, FC_FLASH_ATTN_EXT + 1); + ggml_metal_cv_set_bool(cv, has_bias, FC_FLASH_ATTN_EXT + 2); + ggml_metal_cv_set_bool(cv, has_scap, FC_FLASH_ATTN_EXT + 3); + + ggml_metal_cv_set_int32(cv, ns10, FC_FLASH_ATTN_EXT + 20); + ggml_metal_cv_set_int32(cv, ns20, FC_FLASH_ATTN_EXT + 21); + ggml_metal_cv_set_int32(cv, nsg, FC_FLASH_ATTN_EXT + 22); + + res = ggml_metal_library_compile_pipeline(lib, base, name, cv); + + ggml_metal_cv_free(cv); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_flash_attn_ext_vec( + ggml_metal_library_t lib, + const ggml_tensor * op, + bool has_mask, + bool has_sinks, + bool has_bias, + bool has_scap, + int32_t nsg, + int32_t nwg) { + assert(op->op == GGML_OP_FLASH_ATTN_EXT); + + char base[256]; + char name[256]; + + const int32_t dk = (int32_t) op->src[1]->ne[0]; + const int32_t dv = (int32_t) op->src[2]->ne[0]; + + const int32_t ns10 = op->src[1]->nb[1]/op->src[1]->nb[0]; + const int32_t ns20 = op->src[2]->nb[1]/op->src[2]->nb[0]; + + snprintf(base, 256, "kernel_%s_%s_dk%d_dv%d", + "flash_attn_ext_vec", + ggml_type_name(op->src[1]->type), + dk, + dv); + + snprintf(name, 256, "kernel_%s_%s_dk%d_dv%d_mask=%d_sink=%d_bias=%d_softcap=%d_ns10=%d_ns20=%d_nsg=%d_nwg=%d", + "flash_attn_ext_vec", + ggml_type_name(op->src[1]->type), + dk, + dv, + has_mask, + has_sinks, + has_bias, + has_scap, + ns10, + ns20, + nsg, nwg); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + ggml_metal_cv_t cv = ggml_metal_cv_init(); + + ggml_metal_cv_set_bool(cv, has_mask, FC_FLASH_ATTN_EXT_VEC + 0); + ggml_metal_cv_set_bool(cv, has_sinks, FC_FLASH_ATTN_EXT_VEC + 1); + ggml_metal_cv_set_bool(cv, has_bias, FC_FLASH_ATTN_EXT_VEC + 2); + ggml_metal_cv_set_bool(cv, has_scap, FC_FLASH_ATTN_EXT_VEC + 3); + + ggml_metal_cv_set_int32(cv, ns10, FC_FLASH_ATTN_EXT_VEC + 20); + ggml_metal_cv_set_int32(cv, ns20, FC_FLASH_ATTN_EXT_VEC + 21); + ggml_metal_cv_set_int32(cv, nsg, FC_FLASH_ATTN_EXT_VEC + 22); + ggml_metal_cv_set_int32(cv, nwg, FC_FLASH_ATTN_EXT_VEC + 23); + + res = ggml_metal_library_compile_pipeline(lib, base, name, cv); + + ggml_metal_cv_free(cv); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_flash_attn_ext_vec_reduce( + ggml_metal_library_t lib, + const ggml_tensor * op, + int32_t dv, + int32_t nwg) { + assert(op->op == GGML_OP_FLASH_ATTN_EXT); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_flash_attn_ext_vec_reduce"); + snprintf(name, 256, "kernel_flash_attn_ext_vec_reduce_dv=%d_nwg=%d", dv, nwg); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + ggml_metal_cv_t cv = ggml_metal_cv_init(); + + ggml_metal_cv_set_int32(cv, dv, FC_FLASH_ATTN_EXT_VEC_REDUCE + 0); + ggml_metal_cv_set_int32(cv, nwg, FC_FLASH_ATTN_EXT_VEC_REDUCE + 1); + + res = ggml_metal_library_compile_pipeline(lib, base, name, cv); + + ggml_metal_cv_free(cv); + + return res; + + GGML_UNUSED(op); +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_bin( + ggml_metal_library_t lib, + ggml_op op, + int32_t n_fuse, + bool row) { + char base[256]; + char name[256]; + + const char * op_str = "undefined"; + switch (op) { + case GGML_OP_ADD: op_str = "add"; break; + case GGML_OP_SUB: op_str = "sub"; break; + case GGML_OP_MUL: op_str = "mul"; break; + case GGML_OP_DIV: op_str = "div"; break; + default: GGML_ABORT("fatal error"); + }; + + if (row) { + snprintf(base, 256, "kernel_%s_row_c4_fuse_%d", op_str, n_fuse); + } else { + snprintf(base, 256, "kernel_%s_fuse_%d", op_str, n_fuse); + } + + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_rms_norm(ggml_metal_library_t lib, const ggml_tensor * op, int32_t n_fuse) { + assert(op->op == GGML_OP_RMS_NORM); + + GGML_ASSERT(op->src[0]->ne[0] % 4 == 0); + GGML_ASSERT(ggml_is_contiguous_rows(op->src[0])); + + char base[256]; + char name[256]; + + switch (n_fuse) { + case 1: snprintf(base, 256, "kernel_rms_norm_f32"); break; + case 2: snprintf(base, 256, "kernel_rms_norm_mul_f32"); break; + case 3: snprintf(base, 256, "kernel_rms_norm_mul_add_f32"); break; + default: GGML_ABORT("fatal error"); + } + + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_smem(res, 32*sizeof(float)); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_l2_norm(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_L2_NORM); + + GGML_ASSERT(op->src[0]->ne[0] % 4 == 0); + GGML_ASSERT(ggml_is_contiguous_1(op->src[0])); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_l2_norm_f32"); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_smem(res, 32*sizeof(float)); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_group_norm(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_GROUP_NORM); + + GGML_ASSERT(ggml_is_contiguous(op->src[0])); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_group_norm_f32"); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_smem(res, 32*sizeof(float)); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_norm(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_NORM); + + GGML_ASSERT(op->src[0]->ne[0] % 4 == 0); + GGML_ASSERT(ggml_is_contiguous_1(op->src[0])); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_norm_f32"); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + ggml_metal_pipeline_set_smem(res, 32*sizeof(float)); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_rope(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_ROPE); + + char base[256]; + char name[256]; + + const int mode = ((const int32_t *) op->op_params)[2]; + + const bool is_neox = mode & GGML_ROPE_TYPE_NEOX; + const bool is_mrope = mode & GGML_ROPE_TYPE_MROPE; + const bool is_vision = mode == GGML_ROPE_TYPE_VISION; + + if (is_neox) { + snprintf(base, 256, "kernel_rope_neox_%s", ggml_type_name(op->src[0]->type)); + } else if (is_mrope && !is_vision) { + GGML_ASSERT(op->src[1]->ne[0]*4 >= op->src[0]->ne[2]); // need at least 4 pos per token + snprintf(base, 256, "kernel_rope_multi_%s", ggml_type_name(op->src[0]->type)); + } else if (is_vision) { + GGML_ASSERT(op->src[1]->ne[0]*4 >= op->src[0]->ne[2]); // need at least 4 pos per token + snprintf(base, 256, "kernel_rope_vision_%s", ggml_type_name(op->src[0]->type)); + } else { + snprintf(base, 256, "kernel_rope_norm_%s", ggml_type_name(op->src[0]->type)); + } + + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_im2col(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_IM2COL); + + GGML_ASSERT(ggml_is_contiguous(op->src[1])); + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + GGML_ASSERT(op->type == GGML_TYPE_F16 || op->type == GGML_TYPE_F32); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_im2col_ext_%s", ggml_type_name(op->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_conv_transpose_1d(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_CONV_TRANSPOSE_1D); + + GGML_ASSERT(ggml_is_contiguous(op->src[0])); + GGML_ASSERT(ggml_is_contiguous(op->src[1])); + GGML_ASSERT(op->src[0]->type == GGML_TYPE_F16 || op->src[0]->type == GGML_TYPE_F32); + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + GGML_ASSERT(op->type == GGML_TYPE_F32); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_conv_transpose_1d_%s_%s", ggml_type_name(op->src[0]->type), ggml_type_name(op->src[1]->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_upscale(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_UPSCALE); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_upscale_%s", ggml_type_name(op->src[0]->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_pad(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_PAD); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_pad_%s", ggml_type_name(op->src[0]->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_pad_reflect_1d(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_PAD_REFLECT_1D); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_pad_reflect_1d_%s", ggml_type_name(op->src[0]->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_arange(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_ARANGE); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_arange_%s", ggml_type_name(op->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_timestep_embedding(ggml_metal_library_t lib, const ggml_tensor * op) { + assert(op->op == GGML_OP_TIMESTEP_EMBEDDING); + + char base[256]; + char name[256]; + + snprintf(base, 256, "kernel_timestep_embedding_%s", ggml_type_name(op->src[0]->type)); + snprintf(name, 256, "%s", base); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + return res; + } + + res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + + return res; +} + diff --git a/ggml/src/ggml-metal/ggml-metal-device.h b/ggml/src/ggml-metal/ggml-metal-device.h new file mode 100644 index 0000000000..c48337f514 --- /dev/null +++ b/ggml/src/ggml-metal/ggml-metal-device.h @@ -0,0 +1,226 @@ +#pragma once + +#include "ggml.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct ggml_metal_buffer_id { + void * metal; // id + size_t offs; +}; + +typedef struct ggml_metal_device * ggml_metal_device_t; + +// +// MTLFunctionConstantValues wrapper +// + +typedef struct ggml_metal_cv * ggml_metal_cv_t; + +ggml_metal_cv_t ggml_metal_cv_init(void); +void ggml_metal_cv_free(ggml_metal_cv_t cv); + +void ggml_metal_cv_set_int32(ggml_metal_cv_t cv, int32_t value, int32_t idx); +void ggml_metal_cv_set_bool (ggml_metal_cv_t cv, bool value, int32_t idx); + +// +// MTLComputePipelineState wrapper +// + +typedef struct ggml_metal_pipeline * ggml_metal_pipeline_t; + +ggml_metal_pipeline_t ggml_metal_pipeline_init(void); +void ggml_metal_pipeline_free(ggml_metal_pipeline_t pipeline); + +void ggml_metal_pipeline_set_nsg(ggml_metal_pipeline_t pipeline, int nsg); +int ggml_metal_pipeline_get_nsg(ggml_metal_pipeline_t pipeline); + +void ggml_metal_pipeline_set_nr0(ggml_metal_pipeline_t pipeline, int nr0); +int ggml_metal_pipeline_get_nr0(ggml_metal_pipeline_t pipeline); + +void ggml_metal_pipeline_set_nr1(ggml_metal_pipeline_t pipeline, int nr1); +int ggml_metal_pipeline_get_nr1(ggml_metal_pipeline_t pipeline); + +void ggml_metal_pipeline_set_smem(ggml_metal_pipeline_t pipeline, size_t smem); +size_t ggml_metal_pipeline_get_smem(ggml_metal_pipeline_t pipeline); + +int ggml_metal_pipeline_max_theads_per_threadgroup(ggml_metal_pipeline_t pipeline); + +// a collection of pipelines +typedef struct ggml_metal_pipelines * ggml_metal_pipelines_t; + +ggml_metal_pipelines_t ggml_metal_pipelines_init(void); +void ggml_metal_pipelines_free(ggml_metal_pipelines_t ppls); + +void ggml_metal_pipelines_add(ggml_metal_pipelines_t ppls, const char * name, ggml_metal_pipeline_t pipeline); +ggml_metal_pipeline_t ggml_metal_pipelines_get(ggml_metal_pipelines_t ppls, const char * name); + +// +// MTLCommandBuffer wrapper +// + +typedef void * ggml_metal_cmd_buf_t; + +// +// MTLComputeCommandEncoder wrapper +// + +typedef struct ggml_metal_encoder * ggml_metal_encoder_t; + +ggml_metal_encoder_t ggml_metal_encoder_init(ggml_metal_cmd_buf_t cmd_buf_raw, bool concurrent); +void ggml_metal_encoder_free(ggml_metal_encoder_t encoder); + +void ggml_metal_encoder_debug_group_push(ggml_metal_encoder_t encoder, const char * name); +void ggml_metal_encoder_debug_group_pop (ggml_metal_encoder_t encoder); + +void ggml_metal_encoder_set_pipeline(ggml_metal_encoder_t encoder, ggml_metal_pipeline_t pipeline); + +void ggml_metal_encoder_set_bytes (ggml_metal_encoder_t encoder, void * data, size_t size, int idx); +void ggml_metal_encoder_set_buffer(ggml_metal_encoder_t encoder, struct ggml_metal_buffer_id buffer, int idx); + +void ggml_metal_encoder_set_threadgroup_memory_size(ggml_metal_encoder_t encoder, size_t size, int idx); + +void ggml_metal_encoder_dispatch_threadgroups(ggml_metal_encoder_t encoder, int tg0, int tg1, int tg2, int tptg0, int tptg1, int tptg2); + +void ggml_metal_encoder_memory_barrier(ggml_metal_encoder_t encoder); + +void ggml_metal_encoder_end_encoding(ggml_metal_encoder_t encoder); + +// +// MTLLibrary wrapper +// + +typedef struct ggml_metal_library * ggml_metal_library_t; + +ggml_metal_library_t ggml_metal_library_init(ggml_metal_device_t dev); +void ggml_metal_library_free(ggml_metal_library_t lib); + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline (ggml_metal_library_t lib, const char * name); +ggml_metal_pipeline_t ggml_metal_library_compile_pipeline(ggml_metal_library_t lib, const char * base, const char * name, ggml_metal_cv_t cv); + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_base (ggml_metal_library_t lib, enum ggml_op op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_cpy (ggml_metal_library_t lib, enum ggml_type tsrc, enum ggml_type tdst); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_pool_2d (ggml_metal_library_t lib, const struct ggml_tensor * op, enum ggml_op_pool op_pool); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_get_rows (ggml_metal_library_t lib, enum ggml_type tsrc); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_set_rows (ggml_metal_library_t lib, enum ggml_type tdst); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_repeat (ggml_metal_library_t lib, enum ggml_type tsrc); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_unary (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_glu (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_sum_rows (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_soft_max (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_ssm_conv (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_ssm_scan (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_rwkv (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_ext (ggml_metal_library_t lib, enum ggml_type tsrc0, enum ggml_type tsrc1, int r1ptg); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mm (ggml_metal_library_t lib, enum ggml_type tsrc0, enum ggml_type tsrc1); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mm_id_map0 (ggml_metal_library_t lib, int ne02, int ne20); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mm_id (ggml_metal_library_t lib, enum ggml_type tsrc0, enum ggml_type tsrc1); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_id (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_argmax (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_argsort (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_bin (ggml_metal_library_t lib, enum ggml_op op, int32_t n_fuse, bool row); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_rms_norm (ggml_metal_library_t lib, const struct ggml_tensor * op, int32_t n_fuse); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_l2_norm (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_group_norm (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_norm (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_rope (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_im2col (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_conv_transpose_1d (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_upscale (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_pad (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_pad_reflect_1d (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_arange (ggml_metal_library_t lib, const struct ggml_tensor * op); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_timestep_embedding(ggml_metal_library_t lib, const struct ggml_tensor * op); + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_flash_attn_ext( + ggml_metal_library_t lib, + const struct ggml_tensor * op, + bool has_mask, + bool has_sinks, + bool has_bias, + bool has_scap, + int32_t nsg); + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_flash_attn_ext_vec( + ggml_metal_library_t lib, + const struct ggml_tensor * op, + bool has_mask, + bool has_sinks, + bool has_bias, + bool has_scap, + int32_t nsg, + int32_t nwg); + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_flash_attn_ext_vec_reduce( + ggml_metal_library_t lib, + const struct ggml_tensor * op, + int32_t dv, + int32_t nwg); + +// +// device +// + +struct ggml_metal_device_props { + char name[128]; + + size_t max_buffer_size; + size_t max_working_set_size; + size_t max_theadgroup_memory_size; + + bool has_simdgroup_reduction; + bool has_simdgroup_mm; + bool has_unified_memory; + bool has_bfloat; + bool use_residency_sets; + bool use_shared_buffers; + + bool supports_gpu_family_apple7; +}; + +ggml_metal_device_t ggml_metal_device_init(void); +void ggml_metal_device_free(ggml_metal_device_t dev); + +// return a singleton that is automatically destroyed when the program exits +ggml_metal_device_t ggml_metal_device_get(void); + +void * ggml_metal_device_get_obj (ggml_metal_device_t dev); // id +void * ggml_metal_device_get_queue(ggml_metal_device_t dev); // id + +ggml_metal_library_t ggml_metal_device_get_library(ggml_metal_device_t dev); + +void ggml_metal_device_get_memory(ggml_metal_device_t dev, size_t * free, size_t * total); +bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_tensor * op); + +const struct ggml_metal_device_props * ggml_metal_device_get_props(ggml_metal_device_t dev); + +// +// device buffers +// + +typedef struct ggml_metal_buffer * ggml_metal_buffer_t; + +ggml_metal_buffer_t ggml_metal_buffer_init(ggml_metal_device_t dev, size_t size, bool shared); +ggml_metal_buffer_t ggml_metal_buffer_map (ggml_metal_device_t dev, void * ptr, size_t size, size_t max_tensor_size); + +void ggml_metal_buffer_free (ggml_metal_buffer_t buf); +void * ggml_metal_buffer_get_base (ggml_metal_buffer_t buf); +bool ggml_metal_buffer_is_shared(ggml_metal_buffer_t buf); + +void ggml_metal_buffer_memset_tensor(ggml_metal_buffer_t buf, struct ggml_tensor * tensor, uint8_t value, size_t offset, size_t size); +void ggml_metal_buffer_set_tensor (ggml_metal_buffer_t buf, struct ggml_tensor * tensor, const void * data, size_t offset, size_t size); +void ggml_metal_buffer_get_tensor (ggml_metal_buffer_t buf, const struct ggml_tensor * tensor, void * data, size_t offset, size_t size); +void ggml_metal_buffer_clear (ggml_metal_buffer_t buf, uint8_t value); + +// finds the Metal buffer that contains the tensor data on the GPU device +// the assumption is that there is 1-to-1 mapping between the host and device memory buffers, so we can find the +// Metal buffer based on the host memory pointer +// +struct ggml_metal_buffer_id ggml_metal_buffer_get_id(ggml_metal_buffer_t buf, const struct ggml_tensor * t); + +#ifdef __cplusplus +} +#endif diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m new file mode 100644 index 0000000000..9983640b43 --- /dev/null +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -0,0 +1,1289 @@ +#import "ggml-metal-device.h" + +#import "ggml-impl.h" +#import "ggml-threading.h" + +#include + +#include + +#ifndef TARGET_OS_VISION +#define TARGET_OS_VISION 0 +#endif + +// create residency sets only on macOS >= 15.0 +#if !TARGET_CPU_X86_64 && TARGET_OS_OSX && __MAC_OS_X_VERSION_MAX_ALLOWED >= 150000 || \ + TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180000 || \ + TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 180000 || \ + TARGET_OS_VISION && __VISION_OS_VERSION_MAX_ALLOWED >= 200000 +#define GGML_METAL_HAS_RESIDENCY_SETS 1 +#endif + +// overload of MTLGPUFamilyMetal3 (not available in some environments) +static const NSInteger MTLGPUFamilyMetal3_GGML = 5001; + +#if !GGML_METAL_EMBED_LIBRARY +// Here to assist with NSBundle Path Hack +@interface GGMLMetalClass : NSObject +@end +@implementation GGMLMetalClass +@end +#endif + +// +// MTLFunctionConstantValues wrapper +// + +struct ggml_metal_cv { + MTLFunctionConstantValues * obj; +}; + +ggml_metal_cv_t ggml_metal_cv_init(void) { + ggml_metal_cv_t res = calloc(1, sizeof(struct ggml_metal_cv)); + + res->obj = [[MTLFunctionConstantValues alloc] init]; + + return res; +} + +void ggml_metal_cv_free(ggml_metal_cv_t cv) { + [cv->obj release]; + free(cv); +} + +void ggml_metal_cv_set_int32(ggml_metal_cv_t cv, int32_t value, int32_t idx) { + [cv->obj setConstantValue:&value type:MTLDataTypeInt atIndex:idx]; +} + +void ggml_metal_cv_set_bool(ggml_metal_cv_t cv, bool value, int32_t idx) { + [cv->obj setConstantValue:&value type:MTLDataTypeBool atIndex:idx]; +} + +// +// MTLComputePipelineState wrapper +// + +struct ggml_metal_pipeline { + id obj; + + // suggested dispatch sizes + int nsg; + + int nr0; + int nr1; + + size_t smem; +}; + +ggml_metal_pipeline_t ggml_metal_pipeline_init(void) { + ggml_metal_pipeline_t res = calloc(1, sizeof(struct ggml_metal_pipeline)); + + *res = (struct ggml_metal_pipeline) { + /*.obj =*/ nil, + /*.nsg =*/ 0, + /*.nr0 =*/ 0, + /*.nr1 =*/ 0, + /*.smem =*/ 0, + }; + + return res; +} + +void ggml_metal_pipeline_free(ggml_metal_pipeline_t pipeline) { + [pipeline->obj release]; + + free(pipeline); +} + +void ggml_metal_pipeline_set_nsg(ggml_metal_pipeline_t pipeline, int nsg) { + pipeline->nsg = nsg; +} + +int ggml_metal_pipeline_get_nsg(ggml_metal_pipeline_t pipeline) { + return pipeline->nsg; +} + +void ggml_metal_pipeline_set_nr0(ggml_metal_pipeline_t pipeline, int nr0) { + pipeline->nr0 = nr0; +} + +int ggml_metal_pipeline_get_nr0(ggml_metal_pipeline_t pipeline) { + return pipeline->nr0; +} + +void ggml_metal_pipeline_set_nr1(ggml_metal_pipeline_t pipeline, int nr1) { + pipeline->nr1 = nr1; +} + +int ggml_metal_pipeline_get_nr1(ggml_metal_pipeline_t pipeline) { + return pipeline->nr1; +} + +void ggml_metal_pipeline_set_smem(ggml_metal_pipeline_t pipeline, size_t smem) { + pipeline->smem = smem; +} + +size_t ggml_metal_pipeline_get_smem(ggml_metal_pipeline_t pipeline) { + return pipeline->smem; +} + +int ggml_metal_pipeline_max_theads_per_threadgroup(ggml_metal_pipeline_t pipeline) { + return pipeline->obj.maxTotalThreadsPerThreadgroup; +} + +struct ggml_metal_library { + id obj; + id device; + + ggml_metal_pipelines_t pipelines; // cache of compiled pipelines +}; + +ggml_metal_library_t ggml_metal_library_init(ggml_metal_device_t dev) { + id library = nil; + id device = ggml_metal_device_get_obj(dev); + + // load library + // + // - first check if the library is embedded + // - then check if the library is in the bundle + // - if not found, load the source and compile it + // - if that fails, return NULL + // + // TODO: move to a function + { + const int64_t t_start = ggml_time_us(); + + NSError * error = nil; + NSString * src = nil; + +#if GGML_METAL_EMBED_LIBRARY + GGML_LOG_INFO("%s: using embedded metal library\n", __func__); + + extern const char ggml_metallib_start[]; + extern const char ggml_metallib_end[]; + + src = [[NSString alloc] initWithBytes:ggml_metallib_start length:(ggml_metallib_end-ggml_metallib_start) encoding:NSUTF8StringEncoding]; +#else + +#ifdef SWIFT_PACKAGE + NSBundle * bundle = SWIFTPM_MODULE_BUNDLE; +#else + NSBundle * bundle = [NSBundle bundleForClass:[GGMLMetalClass class]]; +#endif + + NSString * path_lib = [bundle pathForResource:@"default" ofType:@"metallib"]; + if (path_lib == nil) { + // Try to find the resource in the directory where the current binary located. + NSString * bin_cur = [[NSProcessInfo processInfo] arguments][0]; + NSString * bin_dir = [bin_cur stringByDeletingLastPathComponent]; + + NSString * path_lib_default = [NSString pathWithComponents:@[bin_dir, @"default.metallib"]]; + if ([[NSFileManager defaultManager] isReadableFileAtPath:path_lib_default]) { + GGML_LOG_INFO("%s: found '%s'\n", __func__, [path_lib_default UTF8String]); + + NSDictionary * atts = [[NSFileManager defaultManager] attributesOfItemAtPath:path_lib_default error:&error]; + if (atts && atts[NSFileType] == NSFileTypeSymbolicLink) { + // Optionally, if this is a symlink, try to resolve it. + path_lib_default = [[NSFileManager defaultManager] destinationOfSymbolicLinkAtPath:path_lib_default error:&error]; + if (path_lib_default && [path_lib_default length] > 0 && ![[path_lib_default substringToIndex:1] isEqualToString:@"/"]) { + // It is a relative path, adding the binary directory as directory prefix. + path_lib_default = [NSString pathWithComponents:@[bin_dir, path_lib_default]]; + } + if (!path_lib_default || ![[NSFileManager defaultManager] isReadableFileAtPath:path_lib_default]) { + // Link to the resource could not be resolved. + path_lib_default = nil; + } else { + GGML_LOG_INFO("%s: symlink resolved '%s'\n", __func__, [path_lib_default UTF8String]); + } + } + } else { + // The resource couldn't be found in the binary's directory. + path_lib_default = nil; + } + + path_lib = path_lib_default; + } + + if (path_lib != nil) { + // pre-compiled library found + NSURL * libURL = [NSURL fileURLWithPath:path_lib]; + GGML_LOG_INFO("%s: loading '%s'\n", __func__, [path_lib UTF8String]); + + library = [device newLibraryWithURL:libURL error:&error]; + if (error) { + GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); + return nil; + } + } else { + GGML_LOG_INFO("%s: default.metallib not found, loading from source\n", __func__); + + NSString * path_source; + NSString * path_resource = [[NSProcessInfo processInfo].environment objectForKey:@"GGML_METAL_PATH_RESOURCES"]; + + GGML_LOG_INFO("%s: GGML_METAL_PATH_RESOURCES = %s\n", __func__, path_resource ? [path_resource UTF8String] : "nil"); + + if (path_resource) { + path_source = [path_resource stringByAppendingPathComponent:@"ggml-metal.metal"]; + } else { + path_source = [bundle pathForResource:@"ggml-metal" ofType:@"metal"]; + } + + if (path_source == nil) { + GGML_LOG_WARN("%s: error: could not use bundle path to find ggml-metal.metal, falling back to trying cwd\n", __func__); + path_source = @"ggml-metal.metal"; + } + + GGML_LOG_INFO("%s: loading '%s'\n", __func__, [path_source UTF8String]); + + src = [NSString stringWithContentsOfFile:path_source encoding:NSUTF8StringEncoding error:&error]; + if (error) { + GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); + return nil; + } + } +#endif + + if (!library) { + @autoreleasepool { + // dictionary of preprocessor macros + NSMutableDictionary * prep = [NSMutableDictionary dictionary]; + + if (ggml_metal_device_get_props(dev)->has_bfloat) { + [prep setObject:@"1" forKey:@"GGML_METAL_HAS_BF16"]; + } + +#if GGML_METAL_EMBED_LIBRARY + [prep setObject:@"1" forKey:@"GGML_METAL_EMBED_LIBRARY"]; +#endif + + MTLCompileOptions * options = [MTLCompileOptions new]; + options.preprocessorMacros = prep; + + //[options setFastMathEnabled:false]; + + library = [device newLibraryWithSource:src options:options error:&error]; + if (error) { + GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); + return nil; + } + +#if !__has_feature(objc_arc) + [options release]; +#endif + } + } + +#if GGML_METAL_EMBED_LIBRARY + [src release]; +#endif // GGML_METAL_EMBED_LIBRARY + + GGML_LOG_INFO("%s: loaded in %.3f sec\n", __func__, (ggml_time_us() - t_start) / 1e6); + } + + ggml_metal_library_t res = calloc(1, sizeof(struct ggml_metal_library)); + + res->obj = library; + res->device = device; + res->pipelines = ggml_metal_pipelines_init(); + + return res; +} + +void ggml_metal_library_free(ggml_metal_library_t lib) { + if (!lib) { + return; + } + + if (lib->obj) { + [lib->obj release]; + } + + ggml_metal_pipelines_free(lib->pipelines); + + free(lib); +} + +ggml_metal_pipeline_t ggml_metal_library_get_pipeline(ggml_metal_library_t lib, const char * name) { + return ggml_metal_pipelines_get(lib->pipelines, name); +} + +ggml_metal_pipeline_t ggml_metal_library_compile_pipeline(ggml_metal_library_t lib, const char * base, const char * name, ggml_metal_cv_t cv) { + // note: the pipelines are cached in the library per device, so they are shared across all metal contexts + ggml_critical_section_start(); + + ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); + if (res) { + ggml_critical_section_end(); + + return res; + } + + res = ggml_metal_pipeline_init(); + + @autoreleasepool { + NSError * error = nil; + + NSString * base_func = [NSString stringWithUTF8String:base]; + + GGML_LOG_DEBUG("%s: compiling pipeline: base = '%s', name = '%s'\n", __func__, base, name); + + id mtl_function = [lib->obj newFunctionWithName:base_func constantValues:(cv ? cv->obj : nil) error:&error]; + if (!mtl_function) { + ggml_critical_section_end(); + + GGML_LOG_ERROR("%s: error: failed to compile pipeline: base = '%s', name = '%s'\n", __func__, base, name); + GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); + + return nil; + } + + res->obj = [lib->device newComputePipelineStateWithFunction:mtl_function error:&error]; + + ggml_metal_pipelines_add(lib->pipelines, name, res); + + [mtl_function release]; + + GGML_LOG_DEBUG("%s: loaded %-40s %16p | th_max = %4d | th_width = %4d\n", __func__, name, (void *) res->obj, + (int) res->obj.maxTotalThreadsPerThreadgroup, + (int) res->obj.threadExecutionWidth); + } + + ggml_critical_section_end(); + + return res; +} + +// +// MTLComputeCommandEncoder wrapper +// + +struct ggml_metal_encoder { + id obj; +}; + +ggml_metal_encoder_t ggml_metal_encoder_init(ggml_metal_cmd_buf_t cmd_buf_raw, bool concurrent) { + ggml_metal_encoder_t res = calloc(1, sizeof(struct ggml_metal_encoder)); + + id cmd_buf = (id) cmd_buf_raw; + + if (concurrent) { + res->obj = [cmd_buf computeCommandEncoderWithDispatchType: MTLDispatchTypeConcurrent]; + } else { + res->obj = [cmd_buf computeCommandEncoder]; + } + + [res->obj retain]; + + return res; +} + +void ggml_metal_encoder_free(ggml_metal_encoder_t encoder) { + [encoder->obj release]; + free(encoder); +} + +void ggml_metal_encoder_debug_group_push(ggml_metal_encoder_t encoder, const char * name) { + [encoder->obj pushDebugGroup:[NSString stringWithCString:name encoding:NSUTF8StringEncoding]]; +} + +void ggml_metal_encoder_debug_group_pop (ggml_metal_encoder_t encoder) { + [encoder->obj popDebugGroup]; +} + +void ggml_metal_encoder_set_pipeline(ggml_metal_encoder_t encoder, ggml_metal_pipeline_t pipeline) { + [encoder->obj setComputePipelineState:pipeline->obj]; +} + +void ggml_metal_encoder_set_bytes(ggml_metal_encoder_t encoder, void * data, size_t size, int idx) { + [encoder->obj setBytes:data length:size atIndex:idx]; +} + +void ggml_metal_encoder_set_buffer(ggml_metal_encoder_t encoder, struct ggml_metal_buffer_id buffer, int idx) { + [encoder->obj setBuffer:buffer.metal offset:buffer.offs atIndex:idx]; +} + +void ggml_metal_encoder_set_threadgroup_memory_size(ggml_metal_encoder_t encoder, size_t size, int idx) { + [encoder->obj setThreadgroupMemoryLength:size atIndex:idx]; +} + +void ggml_metal_encoder_dispatch_threadgroups(ggml_metal_encoder_t encoder, int tg0, int tg1, int tg2, int tptg0, int tptg1, int tptg2) { + [encoder->obj dispatchThreadgroups:MTLSizeMake(tg0, tg1, tg2) threadsPerThreadgroup:MTLSizeMake(tptg0, tptg1, tptg2)]; +} + +void ggml_metal_encoder_memory_barrier(ggml_metal_encoder_t encoder) { + [encoder->obj memoryBarrierWithScope:MTLBarrierScopeBuffers]; +} + +void ggml_metal_encoder_end_encoding(ggml_metal_encoder_t encoder) { + [encoder->obj endEncoding]; +} + +struct ggml_metal_device { + id mtl_device; + + // a single global queue shared by all Metal backends + // technically not needed for devices with unified memory, but enables discrete GPUs support + // ref: https://github.com/ggml-org/llama.cpp/pull/15906 + id mtl_queue; + + ggml_metal_library_t library; + + struct ggml_metal_device_props props; +}; + +ggml_metal_device_t ggml_metal_device_init(void) { + ggml_metal_device_t dev = calloc(1, sizeof(struct ggml_metal_device)); + + assert(dev != NULL); + + if (dev->mtl_device == nil) { + dev->mtl_device = MTLCreateSystemDefaultDevice(); + + if (dev->mtl_device) { + dev->mtl_queue = [dev->mtl_device newCommandQueue]; + if (dev->mtl_queue == nil) { + GGML_LOG_ERROR("%s: error: failed to create command queue\n", __func__); + } + + dev->props.has_simdgroup_reduction = [dev->mtl_device supportsFamily:MTLGPUFamilyApple7]; + dev->props.has_simdgroup_reduction |= [dev->mtl_device supportsFamily:MTLGPUFamilyMetal3_GGML]; + + dev->props.has_simdgroup_mm = [dev->mtl_device supportsFamily:MTLGPUFamilyApple7]; + dev->props.has_unified_memory = dev->mtl_device.hasUnifiedMemory; + + dev->props.has_bfloat = [dev->mtl_device supportsFamily:MTLGPUFamilyMetal3_GGML]; + dev->props.has_bfloat |= [dev->mtl_device supportsFamily:MTLGPUFamilyApple6]; + + dev->props.use_residency_sets = true; +#if defined(GGML_METAL_HAS_RESIDENCY_SETS) + dev->props.use_residency_sets = getenv("GGML_METAL_NO_RESIDENCY") == nil; +#endif + + dev->props.use_shared_buffers = dev->props.has_unified_memory; + + if (getenv("GGML_METAL_SHARED_BUFFERS_DISABLE") != NULL) { + dev->props.use_shared_buffers = false; + } + + dev->props.supports_gpu_family_apple7 = [dev->mtl_device supportsFamily:MTLGPUFamilyApple7]; + + dev->props.max_buffer_size = dev->mtl_device.maxBufferLength; + dev->props.max_working_set_size = dev->mtl_device.recommendedMaxWorkingSetSize; + dev->props.max_theadgroup_memory_size = dev->mtl_device.maxThreadgroupMemoryLength; + + strncpy(dev->props.name, [[dev->mtl_device name] UTF8String], sizeof(dev->props.name) - 1); + + dev->library = ggml_metal_library_init(dev); + if (!dev->library) { + GGML_LOG_ERROR("%s: error: failed to create library\n", __func__); + } + + // -------------------------------------------------- + + // print MTL GPU family: + GGML_LOG_INFO("%s: GPU name: %s\n", __func__, dev->props.name); + + // determine max supported GPU family + // https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf + // https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf + { + for (int i = MTLGPUFamilyApple1 + 20; i >= MTLGPUFamilyApple1; --i) { + if ([dev->mtl_device supportsFamily:i]) { + GGML_LOG_INFO("%s: GPU family: MTLGPUFamilyApple%d (%d)\n", __func__, i - (int) MTLGPUFamilyApple1 + 1, i); + break; + } + } + + for (int i = MTLGPUFamilyCommon1 + 5; i >= MTLGPUFamilyCommon1; --i) { + if ([dev->mtl_device supportsFamily:i]) { + GGML_LOG_INFO("%s: GPU family: MTLGPUFamilyCommon%d (%d)\n", __func__, i - (int) MTLGPUFamilyCommon1 + 1, i); + break; + } + } + + for (int i = MTLGPUFamilyMetal3_GGML + 5; i >= MTLGPUFamilyMetal3_GGML; --i) { + if ([dev->mtl_device supportsFamily:i]) { + GGML_LOG_INFO("%s: GPU family: MTLGPUFamilyMetal%d (%d)\n", __func__, i - (int) MTLGPUFamilyMetal3_GGML + 3, i); + break; + } + } + } + + GGML_LOG_INFO("%s: simdgroup reduction = %s\n", __func__, dev->props.has_simdgroup_reduction ? "true" : "false"); + GGML_LOG_INFO("%s: simdgroup matrix mul. = %s\n", __func__, dev->props.has_simdgroup_mm ? "true" : "false"); + GGML_LOG_INFO("%s: has unified memory = %s\n", __func__, dev->props.has_unified_memory ? "true" : "false"); + GGML_LOG_INFO("%s: has bfloat = %s\n", __func__, dev->props.has_bfloat ? "true" : "false"); + GGML_LOG_INFO("%s: use residency sets = %s\n", __func__, dev->props.use_residency_sets ? "true" : "false"); + GGML_LOG_INFO("%s: use shared buffers = %s\n", __func__, dev->props.use_shared_buffers ? "true" : "false"); + +#if TARGET_OS_OSX || (TARGET_OS_IOS && __clang_major__ >= 15) + if (@available(macOS 10.12, iOS 16.0, *)) { + GGML_LOG_INFO("%s: recommendedMaxWorkingSetSize = %8.2f MB\n", __func__, dev->props.max_working_set_size / 1e6); + } +#endif + } + } + + return dev; +} + +void ggml_metal_device_free(ggml_metal_device_t dev) { + assert(dev != NULL); + + ggml_metal_library_free(dev->library); + dev->library = NULL; + + if (dev->mtl_queue) { + [dev->mtl_queue release]; + dev->mtl_queue = nil; + } + + if (dev->mtl_device) { + [dev->mtl_device release]; + dev->mtl_device = nil; + } + + free(dev); +} + +void * ggml_metal_device_get_obj(ggml_metal_device_t dev) { + return dev->mtl_device; +} + +void * ggml_metal_device_get_queue(ggml_metal_device_t dev) { + return dev->mtl_queue; +} + +ggml_metal_library_t ggml_metal_device_get_library(ggml_metal_device_t dev) { + return dev->library; +} + +void ggml_metal_device_get_memory(ggml_metal_device_t dev, size_t * free, size_t * total) { + if (@available(macOS 10.12, iOS 16.0, *)) { + *total = dev->mtl_device.recommendedMaxWorkingSetSize; + *free = *total - dev->mtl_device.currentAllocatedSize; + } else { + *free = 0; + *total = 0; + } +} + +bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_tensor * op) { + const bool has_simdgroup_mm = dev->props.has_simdgroup_mm; + const bool has_simdgroup_reduction = dev->props.has_simdgroup_reduction; + const bool has_bfloat = dev->props.has_bfloat; + + if (!has_bfloat) { + if (op->type == GGML_TYPE_BF16) { + return false; + } + + for (size_t i = 0, n = 3; i < n; ++i) { + if (op->src[i] != NULL && op->src[i]->type == GGML_TYPE_BF16) { + return false; + } + } + } + + switch (op->op) { + case GGML_OP_UNARY: + switch (ggml_get_unary_op(op)) { + case GGML_UNARY_OP_TANH: + case GGML_UNARY_OP_RELU: + case GGML_UNARY_OP_SIGMOID: + case GGML_UNARY_OP_GELU: + case GGML_UNARY_OP_GELU_ERF: + case GGML_UNARY_OP_GELU_QUICK: + case GGML_UNARY_OP_SILU: + case GGML_UNARY_OP_ELU: + case GGML_UNARY_OP_NEG: + case GGML_UNARY_OP_ABS: + case GGML_UNARY_OP_SGN: + case GGML_UNARY_OP_STEP: + case GGML_UNARY_OP_HARDSWISH: + case GGML_UNARY_OP_HARDSIGMOID: + case GGML_UNARY_OP_EXP: + return ggml_is_contiguous(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; + default: + return false; + } + case GGML_OP_GLU: + switch (ggml_get_glu_op(op)) { + case GGML_GLU_OP_REGLU: + case GGML_GLU_OP_GEGLU: + case GGML_GLU_OP_SWIGLU: + case GGML_GLU_OP_SWIGLU_OAI: + case GGML_GLU_OP_GEGLU_ERF: + case GGML_GLU_OP_GEGLU_QUICK: + return ggml_is_contiguous_1(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; + default: + return false; + } + case GGML_OP_NONE: + case GGML_OP_RESHAPE: + case GGML_OP_VIEW: + case GGML_OP_TRANSPOSE: + case GGML_OP_PERMUTE: + case GGML_OP_CONCAT: + return true; + case GGML_OP_ADD: + case GGML_OP_SUB: + case GGML_OP_MUL: + case GGML_OP_DIV: + case GGML_OP_ADD_ID: + return op->src[0]->type == GGML_TYPE_F32; + case GGML_OP_ACC: + case GGML_OP_REPEAT: + case GGML_OP_SCALE: + case GGML_OP_CONV_TRANSPOSE_1D: + return true; + case GGML_OP_CLAMP: + return op->src[0]->type == GGML_TYPE_F32; + case GGML_OP_SQR: + case GGML_OP_SQRT: + case GGML_OP_SIN: + case GGML_OP_COS: + case GGML_OP_LOG: + return ggml_is_contiguous(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; + case GGML_OP_SUM_ROWS: + case GGML_OP_MEAN: + case GGML_OP_SOFT_MAX: + case GGML_OP_GROUP_NORM: + return has_simdgroup_reduction && ggml_is_contiguous_rows(op->src[0]); + case GGML_OP_RMS_NORM: + case GGML_OP_L2_NORM: + return has_simdgroup_reduction && (op->ne[0] % 4 == 0 && ggml_is_contiguous_1(op->src[0])); + case GGML_OP_ARGMAX: + return has_simdgroup_reduction; + case GGML_OP_NORM: + return has_simdgroup_reduction && (op->ne[0] % 4 == 0 && ggml_is_contiguous_1(op->src[0])); + case GGML_OP_ROPE: + return true; + case GGML_OP_IM2COL: + return ggml_is_contiguous(op->src[1]) && op->src[1]->type == GGML_TYPE_F32 && (op->type == GGML_TYPE_F16 || op->type == GGML_TYPE_F32); + case GGML_OP_POOL_1D: + return false; + case GGML_OP_UPSCALE: + return op->src[0]->type == GGML_TYPE_F32 && op->op_params[0] == GGML_SCALE_MODE_NEAREST; + case GGML_OP_POOL_2D: + return op->src[0]->type == GGML_TYPE_F32; + case GGML_OP_PAD: + return (ggml_get_op_params_i32(op, 0) == 0) && (ggml_get_op_params_i32(op, 2) == 0) && + (ggml_get_op_params_i32(op, 4) == 0) && (ggml_get_op_params_i32(op, 6) == 0); + case GGML_OP_PAD_REFLECT_1D: + case GGML_OP_TIMESTEP_EMBEDDING: + case GGML_OP_ARGSORT: + case GGML_OP_LEAKY_RELU: + return op->src[0]->type == GGML_TYPE_F32; + case GGML_OP_ARANGE: + return true; + case GGML_OP_FLASH_ATTN_EXT: + // for new head sizes, add checks here + if (op->src[0]->ne[0] != 40 && + op->src[0]->ne[0] != 64 && + op->src[0]->ne[0] != 80 && + op->src[0]->ne[0] != 96 && + op->src[0]->ne[0] != 112 && + op->src[0]->ne[0] != 128 && + op->src[0]->ne[0] != 192 && + op->src[0]->ne[0] != 256) { + return false; + } + if (op->src[0]->ne[0] == 576) { + // DeepSeek sizes + // TODO: disabled for now, until optmized + return false; + } + if (op->src[1]->type != op->src[2]->type) { + return false; + } + return has_simdgroup_mm; // TODO: over-restricted for vec-kernels + case GGML_OP_SSM_CONV: + case GGML_OP_SSM_SCAN: + return has_simdgroup_reduction; + case GGML_OP_RWKV_WKV6: + case GGML_OP_RWKV_WKV7: + return true; + case GGML_OP_MUL_MAT: + case GGML_OP_MUL_MAT_ID: + return has_simdgroup_reduction && + (op->src[0]->type != GGML_TYPE_F32 || op->src[1]->type == GGML_TYPE_F32); + case GGML_OP_CPY: + case GGML_OP_DUP: + case GGML_OP_CONT: + { + switch (op->src[0]->type) { + case GGML_TYPE_F32: + switch (op->type) { + case GGML_TYPE_F32: + case GGML_TYPE_F16: + case GGML_TYPE_BF16: + case GGML_TYPE_Q8_0: + case GGML_TYPE_Q4_0: + case GGML_TYPE_Q4_1: + case GGML_TYPE_Q5_0: + case GGML_TYPE_Q5_1: + case GGML_TYPE_IQ4_NL: + case GGML_TYPE_I32: + return true; + default: + return false; + } + case GGML_TYPE_F16: + switch (op->type) { + case GGML_TYPE_F32: + case GGML_TYPE_F16: + return true; + default: + return false; + } + case GGML_TYPE_BF16: + switch (op->type) { + case GGML_TYPE_F32: + case GGML_TYPE_BF16: + return true; + default: + return false; + } + case GGML_TYPE_Q4_0: + case GGML_TYPE_Q4_1: + case GGML_TYPE_Q5_0: + case GGML_TYPE_Q5_1: + case GGML_TYPE_Q8_0: + switch (op->type) { + case GGML_TYPE_F32: + case GGML_TYPE_F16: + return true; + default: + return false; + } + case GGML_TYPE_I32: + return op->type == GGML_TYPE_F32; + default: + return false; + }; + } + case GGML_OP_GET_ROWS: + { + return op->ne[3] == 1; + } + case GGML_OP_SET_ROWS: + { + if (op->src[0]->type != GGML_TYPE_F32) { + return false; + } + + switch (op->type) { + case GGML_TYPE_F32: + case GGML_TYPE_F16: + case GGML_TYPE_BF16: + case GGML_TYPE_Q8_0: + case GGML_TYPE_Q4_0: + case GGML_TYPE_Q4_1: + case GGML_TYPE_Q5_0: + case GGML_TYPE_Q5_1: + case GGML_TYPE_IQ4_NL: + return true; + default: + return false; + }; + } + default: + return false; + } +} + +const struct ggml_metal_device_props * ggml_metal_device_get_props(ggml_metal_device_t dev) { + return &dev->props; +} + +// +// device buffers +// + +// max memory buffers that can be mapped to the device +#define GGML_METAL_MAX_BUFFERS 64 + +struct ggml_metal_buffer_wrapper { + void * data; + size_t size; + + id metal; +}; + +struct ggml_metal_buffer { + void * all_data; // TODO: https://github.com/ggml-org/llama.cpp/pull/15985 + size_t all_size; + + // if false, the Metal buffer data is allocated in private GPU memory and is not shared with the host + bool is_shared; + + // multiple buffers are used only to avoid the maximum buffer size limitation when using mmap + int n_buffers; + struct ggml_metal_buffer_wrapper buffers[GGML_METAL_MAX_BUFFERS]; + + bool use_residency_sets; + + // optional MTLResidencySet + // note: cannot use explicity "id" here because it is not available on certain OSes + id rset; + + // pointers to global device objects + id device; + id queue; +}; + +static void ggml_metal_log_allocated_size(id device, size_t size_aligned) { +#ifndef GGML_METAL_NDEBUG +#if TARGET_OS_OSX || (TARGET_OS_IOS && __clang_major__ >= 15) + if (@available(macOS 10.12, iOS 16.0, *)) { + GGML_LOG_DEBUG("%s: allocated buffer, size = %8.2f MiB, (%8.2f / %8.2f)\n", + __func__, + size_aligned / 1024.0 / 1024.0, + device.currentAllocatedSize / 1024.0 / 1024.0, + device.recommendedMaxWorkingSetSize / 1024.0 / 1024.0); + + if (device.currentAllocatedSize > device.recommendedMaxWorkingSetSize) { + GGML_LOG_WARN("%s: warning: current allocated size is greater than the recommended max working set size\n", __func__); + } + } else { + GGML_LOG_INFO("%s: allocated buffer, size = %8.2f MiB, (%8.2f)\n", + __func__, + size_aligned / 1024.0 / 1024.0, + device.currentAllocatedSize / 1024.0 / 1024.0); + } +#endif +#endif + GGML_UNUSED(device); + GGML_UNUSED(size_aligned); +} + +// rset init +static bool ggml_metal_buffer_rset_init(ggml_metal_buffer_t buf) { + buf->rset = nil; + + if (!buf->use_residency_sets) { + return true; + } + +#if defined(GGML_METAL_HAS_RESIDENCY_SETS) + if (@available(macOS 15.0, iOS 18.0, tvOS 18.0, visionOS 2.0, *)) { + MTLResidencySetDescriptor * desc = [[MTLResidencySetDescriptor alloc] init]; + desc.label = @"ggml_metal"; + desc.initialCapacity = buf->n_buffers; + + NSError * error; + buf->rset = [buf->device newResidencySetWithDescriptor:desc error:&error]; + if (error) { + GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); + [desc release]; + return false; + } + + [desc release]; + + for (int i = 0; i < buf->n_buffers; i++) { + [buf->rset addAllocation:buf->buffers[i].metal]; + } + + [buf->rset commit]; + [buf->rset requestResidency]; + + return true; + } +#endif + + return true; +} + +// rset free +static void ggml_metal_buffer_rset_free(ggml_metal_buffer_t buf) { +#if defined(GGML_METAL_HAS_RESIDENCY_SETS) + if (@available(macOS 15.0, iOS 18.0, tvOS 18.0, visionOS 2.0, *)) { + if (buf->rset) { + [buf->rset endResidency]; + [buf->rset removeAllAllocations]; + [buf->rset release]; + } + } +#else + GGML_UNUSED(buf); +#endif +} + +static void * ggml_metal_host_malloc(size_t n) { + void * data = NULL; + +#if TARGET_OS_OSX + kern_return_t err = vm_allocate((vm_map_t) mach_task_self(), (void *) &data, n, VM_FLAGS_ANYWHERE); + if (err != KERN_SUCCESS) { + GGML_LOG_ERROR("%s: error: vm_allocate failed\n", __func__); + return NULL; + } +#else + const int result = posix_memalign((void **) &data, sysconf(_SC_PAGESIZE), n); + if (result != 0) { + GGML_LOG_ERROR("%s: error: posix_memalign failed\n", __func__); + return NULL; + } +#endif + + return data; +} + +ggml_metal_buffer_t ggml_metal_buffer_init(ggml_metal_device_t dev, size_t size, bool shared) { + ggml_metal_buffer_t res = calloc(1, sizeof(struct ggml_metal_buffer)); + + const size_t size_page = sysconf(_SC_PAGESIZE); + + size_t size_aligned = size; + if ((size_aligned % size_page) != 0) { + size_aligned += (size_page - (size_aligned % size_page)); + } + + const struct ggml_metal_device_props * props_dev = ggml_metal_device_get_props(dev); + + shared = shared && props_dev->use_shared_buffers; + + // allocate shared buffer if the device supports it and it is required by the buffer type + if (shared) { + res->all_data = ggml_metal_host_malloc(size_aligned); + res->is_shared = true; + } else { + // dummy, non-NULL value - we'll populate this after creating the Metal buffer below + res->all_data = (void *) 0x000000400ULL; + res->is_shared = false; + } + res->all_size = size_aligned; + + res->device = ggml_metal_device_get_obj(dev); + res->queue = ggml_metal_device_get_queue(dev); + + res->n_buffers = 1; + + if (res->all_data != NULL) { + res->buffers[0].size = size; + res->buffers[0].metal = nil; + + if (size_aligned > 0) { + if (props_dev->use_shared_buffers &&shared) { + res->buffers[0].metal = [res->device newBufferWithBytesNoCopy:res->all_data + length:size_aligned + options:MTLResourceStorageModeShared + deallocator:nil]; + } else { + res->buffers[0].metal = [res->device newBufferWithLength:size_aligned options:MTLResourceStorageModePrivate]; + + res->all_data = (void *) (res->buffers[0].metal.gpuAddress); + } + } + + res->buffers[0].data = res->all_data; + } + + if (size_aligned > 0 && (res->all_data == NULL || res->buffers[0].metal == nil)) { + GGML_LOG_ERROR("%s: error: failed to allocate buffer, size = %8.2f MiB\n", __func__, size_aligned / 1024.0 / 1024.0); + free(res); + return NULL; + } + + res->use_residency_sets = props_dev->use_residency_sets; + + if (!ggml_metal_buffer_rset_init(res)) { + GGML_LOG_ERROR("%s: error: failed to initialize residency set\n", __func__); + free(res); + return NULL; + } + + //ggml_metal_log_allocated_size(device, size_aligned); + + return res; +} + +ggml_metal_buffer_t ggml_metal_buffer_map(ggml_metal_device_t dev, void * ptr, size_t size, size_t max_tensor_size) { + ggml_metal_buffer_t res = calloc(1, sizeof(struct ggml_metal_buffer)); + + res->all_data = ptr; + res->all_size = size; + + res->is_shared = true; + + res->n_buffers = 0; + + const size_t size_page = sysconf(_SC_PAGESIZE); + + // page-align the data ptr + { + const uintptr_t offs = (uintptr_t) ptr % size_page; + ptr = (void *) ((char *) ptr - offs); + size += offs; + } + + size_t size_aligned = size; + if ((size_aligned % size_page) != 0) { + size_aligned += (size_page - (size_aligned % size_page)); + } + + res->device = ggml_metal_device_get_obj(dev); + res->queue = ggml_metal_device_get_queue(dev); + + const struct ggml_metal_device_props * props_dev = ggml_metal_device_get_props(dev); + + // the buffer fits into the max buffer size allowed by the device + if (size_aligned <= props_dev->max_buffer_size) { + res->buffers[res->n_buffers].data = ptr; + res->buffers[res->n_buffers].size = size; + res->buffers[res->n_buffers].metal = nil; + + if (size_aligned > 0) { + res->buffers[res->n_buffers].metal = [res->device newBufferWithBytesNoCopy:ptr length:size_aligned options:MTLResourceStorageModeShared deallocator:nil]; + + if (res->buffers[res->n_buffers].metal == nil) { + GGML_LOG_ERROR("%s: error: failed to allocate buffer, size = %8.2f MiB\n", __func__, size_aligned / 1024.0 / 1024.0); + free(res); + return NULL; + } + } + + ggml_metal_log_allocated_size(res->device, size_aligned); + + ++res->n_buffers; + } else { + // this overlap between the views will guarantee that the tensor with the maximum size will fully fit into + // one of the views + const size_t size_ovlp = ((max_tensor_size + size_page - 1) / size_page + 1) * size_page; // round-up 2 pages just in case + const size_t size_step = props_dev->max_buffer_size - size_ovlp; + const size_t size_view = props_dev->max_buffer_size; + + for (size_t i = 0; i < size; i += size_step) { + const size_t size_step_aligned = (i + size_view <= size) ? size_view : (size_aligned - i); + + res->buffers[res->n_buffers].data = (void *) ((uint8_t *) ptr + i); + res->buffers[res->n_buffers].size = size_step_aligned; + res->buffers[res->n_buffers].metal = nil; + + if (size_step_aligned > 0) { + res->buffers[res->n_buffers].metal = [res->device newBufferWithBytesNoCopy:(void *) ((uint8_t *) ptr + i) length:size_step_aligned options:MTLResourceStorageModeShared deallocator:nil]; + + if (res->buffers[res->n_buffers].metal == nil) { + GGML_LOG_ERROR("%s: error: failed to allocate buffer, size = %8.2f MiB\n", __func__, size_step_aligned / 1024.0 / 1024.0); + free(res); + return NULL; + } + } + + ggml_metal_log_allocated_size(res->device, size_step_aligned); + + if (i + size_step < size) { + GGML_LOG_INFO("\n"); + } + + ++res->n_buffers; + } + } + + res->use_residency_sets = props_dev->use_residency_sets; + + if (!ggml_metal_buffer_rset_init(res)) { + GGML_LOG_ERROR("%s: error: failed to initialize residency set\n", __func__); + free(res); + return NULL; + } + + return res; +} + +void ggml_metal_buffer_free(ggml_metal_buffer_t buf) { + for (int i = 0; i < buf->n_buffers; i++) { + [buf->buffers[i].metal release]; + } + + ggml_metal_buffer_rset_free(buf); + + if (buf->is_shared) { +#if TARGET_OS_OSX + vm_deallocate((vm_map_t)mach_task_self(), (vm_address_t)buf->all_data, buf->all_size); +#else + free(buf->all_data); +#endif + } + + free(buf); +} + +void * ggml_metal_buffer_get_base(ggml_metal_buffer_t buf) { + return buf->all_data; +} + +bool ggml_metal_buffer_is_shared(ggml_metal_buffer_t buf) { + return buf->is_shared; +} + +void ggml_metal_buffer_memset_tensor(ggml_metal_buffer_t buf, struct ggml_tensor * tensor, uint8_t value, size_t offset, size_t size) { + if (buf->is_shared) { + memset((char *)tensor->data + offset, value, size); + return; + } + + @autoreleasepool { + // dst + struct ggml_metal_buffer_id bid_dst = ggml_metal_buffer_get_id(buf, tensor); + bid_dst.offs += offset; + + id queue = buf->queue; + id cmd_buf = [queue commandBufferWithUnretainedReferences]; + + { + id encoder = [cmd_buf blitCommandEncoder]; + + [encoder fillBuffer:bid_dst.metal + range:NSMakeRange(bid_dst.offs, bid_dst.offs + size) + value:value]; + + [encoder endEncoding]; + } + + [cmd_buf commit]; + [cmd_buf waitUntilCompleted]; + } +} + +void ggml_metal_buffer_set_tensor(ggml_metal_buffer_t buf, struct ggml_tensor * tensor, const void * data, size_t offset, size_t size) { + if (buf->is_shared) { + memcpy((char *)tensor->data + offset, data, size); + return; + } + + @autoreleasepool { + // src + void * data_ptr = (void *)(uintptr_t) data; // "const cast" the src data + id buf_src = [buf->device newBufferWithBytesNoCopy:data_ptr + length:size + options:MTLResourceStorageModeShared + deallocator:nil]; + + // dst + struct ggml_metal_buffer_id bid_dst = ggml_metal_buffer_get_id(buf, tensor); + bid_dst.offs += offset; + + // note: for experimentation purposes, here we use a semaphore to wait for the copy to complete + // this is alternative to waitUntilCompleted, which should be faster, but don't seem to make much difference + dispatch_semaphore_t completion_semaphore = dispatch_semaphore_create(0); + + id queue = buf->queue; + id cmd_buf = [queue commandBufferWithUnretainedReferences]; + + { + id encoder = [cmd_buf blitCommandEncoder]; + + [encoder copyFromBuffer:buf_src + sourceOffset:0 + toBuffer:bid_dst.metal + destinationOffset:bid_dst.offs + size:size]; + + [encoder endEncoding]; + } + + [cmd_buf addCompletedHandler:^(id cb) { + // TODO: can check for errors here + GGML_UNUSED(cb); + + dispatch_semaphore_signal(completion_semaphore); + }]; + + [cmd_buf commit]; + + dispatch_semaphore_wait(completion_semaphore, DISPATCH_TIME_FOREVER); + dispatch_release(completion_semaphore); + + //[cmd_buf waitUntilCompleted]; + } +} + +void ggml_metal_buffer_get_tensor(ggml_metal_buffer_t buf, const struct ggml_tensor * tensor, void * data, size_t offset, size_t size) { + if (buf->is_shared) { + memcpy(data, (const char *)tensor->data + offset, size); + return; + } + + @autoreleasepool { + // src + struct ggml_metal_buffer_id bid_src = ggml_metal_buffer_get_id(buf, tensor); + bid_src.offs += offset; + + // dst + id buf_dst = [buf->device newBufferWithBytesNoCopy:data + length:size + options:MTLResourceStorageModeShared + deallocator:nil]; + + id queue = buf->queue; + id cmd_buf = [queue commandBufferWithUnretainedReferences]; + + { + id encoder = [cmd_buf blitCommandEncoder]; + + [encoder copyFromBuffer:bid_src.metal + sourceOffset:bid_src.offs + toBuffer:buf_dst + destinationOffset:0 + size:size]; + + [encoder endEncoding]; + } + + [cmd_buf commit]; + [cmd_buf waitUntilCompleted]; + } +} + +void ggml_metal_buffer_clear(ggml_metal_buffer_t buf, uint8_t value) { + if (buf->is_shared) { + memset(buf->all_data, value, buf->all_size); + return; + } + + @autoreleasepool { + id queue = buf->queue; + id cmd_buf = [queue commandBufferWithUnretainedReferences]; + + { + id encoder = [cmd_buf blitCommandEncoder]; + + [encoder fillBuffer:buf->buffers[0].metal + range:NSMakeRange(0, buf->buffers[0].size) + value:value]; + + [encoder endEncoding]; + } + + [cmd_buf commit]; + [cmd_buf waitUntilCompleted]; + } +} + +struct ggml_metal_buffer_id ggml_metal_buffer_get_id(ggml_metal_buffer_t buf, const struct ggml_tensor * t) { + struct ggml_metal_buffer_id res = { nil, 0 }; + + const int64_t tsize = ggml_nbytes(t); + + // find the view that contains the tensor fully + for (int i = 0; i < buf->n_buffers; ++i) { + const int64_t ioffs = (int64_t) t->data - (int64_t) buf->buffers[i].data; + + //GGML_LOG_INFO("ioffs = %10ld, tsize = %10ld, sum = %10ld, buf->buffers[%d].size = %10ld\n", ioffs, tsize, ioffs + tsize, i, buf->buffers[i].size); + if (ioffs >= 0 && ioffs + tsize <= (int64_t) buf->buffers[i].size) { + res.metal = buf->buffers[i].metal; + res.offs = (size_t) ioffs; + + //GGML_LOG_INFO("%s: tensor '%16s', offs = %8ld\n", __func__, t->name, *offs); + + return res; + } + } + + GGML_LOG_ERROR("%s: error: tensor '%s' buffer is nil\n", __func__, t->name); + + return res; +} diff --git a/ggml/src/ggml-metal/ggml-metal-impl.h b/ggml/src/ggml-metal/ggml-metal-impl.h index 651943fa92..0776bb6485 100644 --- a/ggml/src/ggml-metal/ggml-metal-impl.h +++ b/ggml/src/ggml-metal/ggml-metal-impl.h @@ -165,6 +165,16 @@ typedef struct { uint64_t nb3; } ggml_metal_kargs_repeat; +typedef struct { + float scale; + float bias; +} ggml_metal_kargs_scale; + +typedef struct { + float min; + float max; +} ggml_metal_kargs_clamp; + typedef struct { int64_t ne00; int64_t ne01; @@ -453,7 +463,7 @@ typedef struct { uint64_t nb00; uint64_t nb01; uint64_t nb02; - int32_t n_groups; + int32_t ngrp; float eps; } ggml_metal_kargs_group_norm; @@ -506,14 +516,6 @@ typedef struct { uint64_t nb01; uint64_t nb02; uint64_t nb03; - int64_t ne10; - int64_t ne11; - int64_t ne12; - int64_t ne13; - uint64_t nb10; - uint64_t nb11; - uint64_t nb12; - uint64_t nb13; int64_t ne0; int64_t ne1; int64_t ne2; @@ -547,12 +549,6 @@ typedef struct { int32_t n_head_log2; } ggml_metal_kargs_soft_max; -typedef struct { - int64_t ne00; - int64_t ne01; - int n_past; -} ggml_metal_kargs_diag_mask_inf; - typedef struct { int64_t ne00; int64_t ne01; @@ -579,7 +575,7 @@ typedef struct { int64_t n_group; int64_t n_seq_tokens; int64_t n_seqs; - int64_t s_off; + uint64_t s_off; uint64_t nb01; uint64_t nb02; uint64_t nb03; @@ -719,7 +715,12 @@ typedef struct { int64_t IW; int64_t OH; int64_t OW; - int64_t parallel_elements; + int64_t np; } ggml_metal_kargs_pool_2d; +typedef struct { + int64_t ne00; + uint64_t nb01; +} ggml_metal_kargs_argmax; + #endif // GGML_METAL_IMPL diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp new file mode 100644 index 0000000000..839c16894d --- /dev/null +++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp @@ -0,0 +1,3188 @@ +#include "ggml-metal-ops.h" + +#include "ggml.h" +#include "ggml-impl.h" +#include "ggml-backend-impl.h" + +#include "ggml-metal-impl.h" +#include "ggml-metal-common.h" +#include "ggml-metal-device.h" + +#include +#include + +static ggml_metal_buffer_id ggml_metal_get_buffer_id(const ggml_tensor * t) { + if (!t) { + return { nullptr, 0 }; + } + + ggml_backend_buffer_t buffer = t->view_src ? t->view_src->buffer : t->buffer; + + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t) buffer->context; + + return ggml_metal_buffer_get_id(ctx, t); +} + +struct ggml_metal_op { + ggml_metal_device_t dev; + ggml_metal_library_t lib; + ggml_metal_encoder_t enc; + ggml_mem_ranges_t mem_ranges; + + ggml_cgraph * gf; + + int idx_start; + int idx_end; + + bool use_fusion; + bool use_concurrency; + bool use_capture; + + int debug_graph; + int debug_fusion; +}; + +ggml_metal_op_t ggml_metal_op_init( + ggml_metal_device_t dev, + ggml_metal_cmd_buf_t cmd_buf, + ggml_cgraph * gf, + int idx_start, + int idx_end, + bool use_fusion, + bool use_concurrency, + bool use_capture, + int debug_graph, + int debug_fusion) { + ggml_metal_op_t res = new ggml_metal_op(); + + *res = { + /*.dev =*/ dev, + /*.lib =*/ ggml_metal_device_get_library(dev), + /*.enc =*/ ggml_metal_encoder_init(cmd_buf, use_concurrency), + /*.mem_ranges =*/ ggml_mem_ranges_init(debug_graph), + /*.gf =*/ gf, + /*.idx_start =*/ idx_start, + /*.idx_end =*/ idx_end, + /*.use_fusion =*/ use_fusion, + /*.use_concurrency =*/ use_concurrency, + /*.use_capture =*/ use_capture, + /*.debug_graph =*/ debug_graph, + /*.debug_fusion =*/ debug_fusion, + }; + + return res; +} + +void ggml_metal_op_free(ggml_metal_op_t ctx) { + ggml_metal_encoder_end_encoding(ctx->enc); + ggml_metal_encoder_free(ctx->enc); + ggml_mem_ranges_free(ctx->mem_ranges); + + delete ctx; +} + +static bool ggml_metal_op_concurrency_reset(ggml_metal_op_t ctx) { + if (!ctx->mem_ranges) { + return true; + } + + ggml_metal_encoder_memory_barrier(ctx->enc); + + ggml_mem_ranges_reset(ctx->mem_ranges); + + return true; +} + +static bool ggml_metal_op_concurrency_check(ggml_metal_op_t ctx, const ggml_tensor * node) { + if (!ctx->mem_ranges) { + return false; + } + + return ggml_mem_ranges_check(ctx->mem_ranges, node); +} + +static bool ggml_metal_op_concurrency_add(ggml_metal_op_t ctx, const ggml_tensor * node) { + if (!ctx->mem_ranges) { + return true; + } + + return ggml_mem_ranges_add(ctx->mem_ranges, node); +} + +static int ggml_metal_op_encode_impl(ggml_metal_op_t ctx, int idx) { + struct ggml_cgraph * gf = ctx->gf; + + struct ggml_tensor ** nodes = ggml_graph_nodes(gf) + idx; + struct ggml_tensor * node = nodes[0]; + + //GGML_LOG_INFO("%s: encoding node %3d, op = %8s\n", __func__, idx, ggml_op_name(node->op)); + + if (ggml_is_empty(node)) { + return 1; + } + + switch (node->op) { + case GGML_OP_NONE: + case GGML_OP_RESHAPE: + case GGML_OP_VIEW: + case GGML_OP_TRANSPOSE: + case GGML_OP_PERMUTE: + { + // noop -> next node + } return 1; + default: + { + } break; + } + + if (!ggml_metal_device_supports_op(ctx->dev, node)) { + GGML_LOG_ERROR("%s: error: unsupported op '%s'\n", __func__, ggml_op_desc(node)); + GGML_ABORT("unsupported op"); + } + + int n_fuse = 1; + + // check if the current node can run concurrently with other nodes before it + // the condition is that: + // - the current node cannot write to any previous src or dst ranges + // - the current node cannot read from any previous dst ranges + // + // if the condition is not satisfied, we put a memory barrier and clear all ranges + // otherwise, we add the new ranges to the encoding context and process the node concurrently + // + { + const bool is_concurrent = ggml_metal_op_concurrency_check(ctx, node); + + if (!is_concurrent) { + ggml_metal_op_concurrency_reset(ctx); + } + + if (ctx->debug_graph > 0) { + GGML_LOG_DEBUG("%s: node[%5d] - %-12s %s\n", __func__, idx, ggml_op_name(node->op), is_concurrent ? "(concurrent)" : ""); + } + if (ctx->debug_graph > 1) { + GGML_TENSOR_LOCALS( int64_t, ne0, node->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, node->src[0], nb); + GGML_TENSOR_LOCALS( int64_t, ne1, node->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, node->src[1], nb); + GGML_TENSOR_LOCALS( int64_t, ne, node, ne); + GGML_TENSOR_LOCALS(uint64_t, nb, node, nb); + + if (node->src[0]) { + GGML_LOG_DEBUG("%s: src0 - %4s [%5lld, %5lld, %5lld, %5lld] [%5lld, %5lld, %5lld, %5lld], %d, %s\n", __func__, ggml_type_name(node->src[0]->type), ne00, ne01, ne02, ne03, nb00, nb01, nb02, nb03, + ggml_is_contiguous(node->src[0]), node->src[0]->name); + } + if (node->src[1]) { + GGML_LOG_DEBUG("%s: src1 - %4s [%5lld, %5lld, %5lld, %5lld] [%5lld, %5lld, %5lld, %5lld], %d, %s\n", __func__, ggml_type_name(node->src[1]->type), ne10, ne11, ne12, ne13, nb10, nb11, nb12, nb13, + ggml_is_contiguous(node->src[1]), node->src[1]->name); + } + if (node) { + GGML_LOG_DEBUG("%s: node - %4s [%5lld, %5lld, %5lld, %5lld] [%5lld, %5lld, %5lld, %5lld], 1, %s\n", __func__, ggml_type_name(node->type), ne0, ne1, ne2, ne3, nb0, nb1, nb2, nb3, + node->name); + } + } + } + + switch (node->op) { + case GGML_OP_CONCAT: + { + n_fuse = ggml_metal_op_concat(ctx, idx); + } break; + case GGML_OP_ADD: + case GGML_OP_SUB: + case GGML_OP_MUL: + case GGML_OP_DIV: + { + n_fuse = ggml_metal_op_bin(ctx, idx); + } break; + case GGML_OP_ADD_ID: + { + n_fuse = ggml_metal_op_add_id(ctx, idx); + } break; + case GGML_OP_REPEAT: + { + n_fuse = ggml_metal_op_repeat(ctx, idx); + } break; + case GGML_OP_ACC: + { + n_fuse = ggml_metal_op_acc(ctx, idx); + } break; + case GGML_OP_SCALE: + { + n_fuse = ggml_metal_op_scale(ctx, idx); + } break; + case GGML_OP_CLAMP: + { + n_fuse = ggml_metal_op_clamp(ctx, idx); + } break; + case GGML_OP_SQR: + case GGML_OP_SQRT: + case GGML_OP_SIN: + case GGML_OP_COS: + case GGML_OP_LOG: + case GGML_OP_UNARY: + { + n_fuse = ggml_metal_op_unary(ctx, idx); + } break; + case GGML_OP_GLU: + { + n_fuse = ggml_metal_op_glu(ctx, idx); + } break; + case GGML_OP_SUM_ROWS: + case GGML_OP_MEAN: + { + n_fuse = ggml_metal_op_sum_rows(ctx, idx); + } break; + case GGML_OP_SOFT_MAX: + { + n_fuse = ggml_metal_op_soft_max(ctx, idx); + } break; + case GGML_OP_SSM_CONV: + { + n_fuse = ggml_metal_op_ssm_conv(ctx, idx); + } break; + case GGML_OP_SSM_SCAN: + { + n_fuse = ggml_metal_op_ssm_scan(ctx, idx); + } break; + case GGML_OP_RWKV_WKV6: + case GGML_OP_RWKV_WKV7: + { + n_fuse = ggml_metal_op_rwkv(ctx, idx); + } break; + case GGML_OP_MUL_MAT: + { + n_fuse = ggml_metal_op_mul_mat(ctx, idx); + } break; + case GGML_OP_MUL_MAT_ID: + { + n_fuse = ggml_metal_op_mul_mat_id(ctx, idx); + } break; + case GGML_OP_GET_ROWS: + { + n_fuse = ggml_metal_op_get_rows(ctx, idx); + } break; + case GGML_OP_SET_ROWS: + { + n_fuse = ggml_metal_op_set_rows(ctx, idx); + } break; + case GGML_OP_RMS_NORM: + { + n_fuse = ggml_metal_op_rms_norm(ctx, idx); + } break; + case GGML_OP_L2_NORM: + { + n_fuse = ggml_metal_op_l2_norm(ctx, idx); + } break; + case GGML_OP_GROUP_NORM: + { + n_fuse = ggml_metal_op_group_norm(ctx, idx); + } break; + case GGML_OP_NORM: + { + n_fuse = ggml_metal_op_norm(ctx, idx); + } break; + case GGML_OP_ROPE: + { + n_fuse = ggml_metal_op_rope(ctx, idx); + } break; + case GGML_OP_IM2COL: + { + n_fuse = ggml_metal_op_im2col(ctx, idx); + } break; + case GGML_OP_CONV_TRANSPOSE_1D: + { + n_fuse = ggml_metal_op_conv_transpose_1d(ctx, idx); + } break; + case GGML_OP_UPSCALE: + { + n_fuse = ggml_metal_op_upscale(ctx, idx); + } break; + case GGML_OP_PAD: + { + n_fuse = ggml_metal_op_pad(ctx, idx); + } break; + case GGML_OP_PAD_REFLECT_1D: + { + n_fuse = ggml_metal_op_pad_reflect_1d(ctx, idx); + } break; + case GGML_OP_ARANGE: + { + n_fuse = ggml_metal_op_arange(ctx, idx); + } break; + case GGML_OP_TIMESTEP_EMBEDDING: + { + n_fuse = ggml_metal_op_timestep_embedding(ctx, idx); + } break; + case GGML_OP_ARGSORT: + { + n_fuse = ggml_metal_op_argsort(ctx, idx); + } break; + case GGML_OP_LEAKY_RELU: + { + n_fuse = ggml_metal_op_leaky_relu(ctx, idx); + } break; + case GGML_OP_FLASH_ATTN_EXT: + { + n_fuse = ggml_metal_op_flash_attn_ext(ctx, idx); + } break; + case GGML_OP_DUP: + case GGML_OP_CPY: + case GGML_OP_CONT: + { + n_fuse = ggml_metal_op_cpy(ctx, idx); + } break; + case GGML_OP_POOL_2D: + { + n_fuse = ggml_metal_op_pool_2d(ctx, idx); + } break; + case GGML_OP_ARGMAX: + { + n_fuse = ggml_metal_op_argmax(ctx, idx); + } break; + default: + { + GGML_LOG_ERROR("%s: error: node %3d, op = %8s not implemented\n", __func__, idx, ggml_op_name(node->op)); + GGML_ABORT("fatal error"); + } + } + + if (ctx->debug_graph > 0) { + if (n_fuse > 1) { + GGML_LOG_DEBUG("%s: fuse %d ops\n", __func__, n_fuse); + } + } + + // update the mem ranges in the encoding context + for (int i = 0; i < n_fuse; ++i) { + if (!ggml_metal_op_concurrency_add(ctx, nodes[i])) { + ggml_metal_op_concurrency_reset(ctx); + } + } + + return n_fuse; +} + +int ggml_metal_op_encode(ggml_metal_op_t ctx, int idx) { + if (ctx->use_capture) { + ggml_metal_encoder_debug_group_push(ctx->enc, ggml_op_desc(ggml_graph_node(ctx->gf, idx))); + } + + int res = ggml_metal_op_encode_impl(ctx, idx); + if (idx + res > ctx->idx_end) { + GGML_ABORT("fusion error: nodes spanning multiple encoders have been fused. this indicates a bug in the fusion logic %s", + "https://github.com/ggml-org/llama.cpp/pull/14849"); + } + + if (ctx->use_capture) { + ggml_metal_encoder_debug_group_pop(ctx->enc); + } + + return res; +} + +int ggml_metal_op_concat(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint64_t, nb, op, nb); + + const int32_t dim = ((const int32_t *) op->op_params)[0]; + + ggml_metal_kargs_concat args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne10 =*/ ne10, + /*.ne11 =*/ ne11, + /*.ne12 =*/ ne12, + /*.ne13 =*/ ne13, + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + /*.dim =*/ dim, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_base(lib, GGML_OP_CONCAT); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 3); + + const int nth = std::min(1024, ne0); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne1, ne2, ne3, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_repeat(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_repeat(lib, op->type); + + ggml_metal_kargs_repeat args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + }; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + const int nth = std::min(ggml_metal_pipeline_max_theads_per_threadgroup(pipeline), ne0); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne1, ne2, ne3, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_acc(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + GGML_ASSERT(op->src[0]->type == GGML_TYPE_F32); + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + GGML_ASSERT(op->type == GGML_TYPE_F32); + + GGML_ASSERT(ggml_is_contiguous(op->src[0])); + GGML_ASSERT(ggml_is_contiguous(op->src[1])); + + const size_t pnb1 = ((const int32_t *) op->op_params)[0]; + const size_t pnb2 = ((const int32_t *) op->op_params)[1]; + const size_t pnb3 = ((const int32_t *) op->op_params)[2]; + const size_t offs = ((const int32_t *) op->op_params)[3]; + + const bool inplace = (bool) ((const int32_t *) op->op_params)[4]; + + if (!inplace) { + // run a separete kernel to cpy src->dst + // not sure how to avoid this + // TODO: make a simpler cpy_bytes kernel + + //const id pipeline = ctx->pipelines[GGML_METAL_PIPELINE_TYPE_CPY_F32_F32].obj; + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_cpy(lib, op->src[0]->type, op->type); + + ggml_metal_kargs_cpy args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + }; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + const int nth = std::min(ggml_metal_pipeline_max_theads_per_threadgroup(pipeline), ne00); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne01, ne02, ne03, nth, 1, 1); + + ggml_metal_op_concurrency_reset(ctx); + } + + ggml_metal_kargs_bin args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ pnb1, + /*.nb02 =*/ pnb2, + /*.nb03 =*/ pnb3, + /*.ne10 =*/ ne10, + /*.ne11 =*/ ne11, + /*.ne12 =*/ ne12, + /*.ne13 =*/ ne13, + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ pnb1, + /*.nb2 =*/ pnb2, + /*.nb3 =*/ pnb3, + /*.offs =*/ offs, + /*.o1 =*/ { 0 }, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_bin(lib, GGML_OP_ADD, 1, false); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 3); + + const int nth = std::min(ggml_metal_pipeline_max_theads_per_threadgroup(pipeline), ne00); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne11, ne12, ne13, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_scale(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + float scale; + float bias; + memcpy(&scale, ((const int32_t *) op->op_params) + 0, sizeof(float)); + memcpy(&bias, ((const int32_t *) op->op_params) + 1, sizeof(float)); + + ggml_metal_kargs_scale args = { + /*.scale =*/ scale, + /*.bias =*/ bias, + }; + + int64_t n = ggml_nelements(op); + + if (n % 4 == 0) { + n /= 4; + } + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_unary(lib, op); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); + + return 1; +} + +int ggml_metal_op_clamp(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + float min; + float max; + memcpy(&min, ((const int32_t *) op->op_params) + 0, sizeof(float)); + memcpy(&max, ((const int32_t *) op->op_params) + 1, sizeof(float)); + + ggml_metal_kargs_clamp args = { + /*.min =*/ min, + /*.max =*/ max, + }; + + int64_t n = ggml_nelements(op); + + if (n % 4 == 0) { + n /= 4; + } + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_unary(lib, op); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); + + return 1; +} + +int ggml_metal_op_unary(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + int64_t n = ggml_nelements(op); + + if (n % 4 == 0) { + n /= 4; + } + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_unary(lib, op); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 1); + + ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); + + return 1; +} + +int ggml_metal_op_glu(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + if (op->src[1]) { + GGML_ASSERT(ggml_are_same_shape(op->src[0], op->src[1])); + } + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_glu(lib, op); + + const int32_t swp = ggml_get_op_params_i32(op, 1); + const float alpha = ggml_get_op_params_f32(op, 2); + const float limit = ggml_get_op_params_f32(op, 3); + + const int32_t i00 = swp ? ne0 : 0; + const int32_t i10 = swp ? 0 : ne0; + + ggml_metal_kargs_glu args = { + /*.ne00 =*/ ne00, + /*.nb01 =*/ nb01, + /*.ne10 =*/ op->src[1] ? ne10 : ne00, + /*.nb11 =*/ op->src[1] ? nb11 : nb01, + /*.ne0 =*/ ne0, + /*.nb1 =*/ nb1, + /*.i00 =*/ op->src[1] ? 0 : i00, + /*.i10 =*/ op->src[1] ? 0 : i10, + /*.alpha=*/ alpha, + /*.limit=*/ limit + }; + + const int64_t nrows = ggml_nrows(op->src[0]); + + const int32_t nth = std::min(ggml_metal_pipeline_max_theads_per_threadgroup(pipeline), ne00/2); + + //[encoder setComputePipelineState:pipeline]; + //[encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; + //if (src1) { + // [encoder setBuffer:id_src1 offset:offs_src1 atIndex:1]; + //} else { + // [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; + //} + //[encoder setBuffer:id_dst offset:offs_dst atIndex:2]; + //[encoder setBytes:&args length:sizeof(args) atIndex:3]; + + //[encoder dispatchThreadgroups:MTLSizeMake(nrows, 1, 1) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + if (op->src[1]) { + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + } else { + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 2); + } + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 3); + + ggml_metal_encoder_dispatch_threadgroups(enc, nrows, 1, 1, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_sum_rows(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + ggml_metal_kargs_sum_rows args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_sum_rows(lib, op); + + int nth = 32; // SIMD width + + while (nth < ne00 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + nth *= 2; + } + + nth = std::min(nth, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); + nth = std::min(nth, ne00); + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + //[encoder setComputePipelineState:pipeline]; + //[encoder setBytes:&args length:sizeof(args) atIndex:0]; + //[encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; + //[encoder setBuffer:id_dst offset:offs_dst atIndex:2]; + //[encoder setThreadgroupMemoryLength:32*sizeof(float) atIndex:0]; + + //[encoder dispatchThreadgroups:MTLSizeMake(ne01, ne02, ne03) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne01, ne02, ne03, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_get_rows(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_get_rows(lib, op->src[0]->type); + + ggml_metal_kargs_get_rows args = { + /*.ne00 =*/ ne00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.ne10 =*/ ne10, + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + }; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 3); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne10, ne11, ne12, 32, 1, 1); + + return 1; +} + +int ggml_metal_op_set_rows(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_set_rows(lib, op->type); + + const int32_t nk0 = ne0/ggml_blck_size(op->type); + + int nth = 32; // SIMD width + + while (nth < nk0 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + nth *= 2; + } + + int nrptg = 1; + if (nth > nk0) { + nrptg = (nth + nk0 - 1)/nk0; + nth = nk0; + + if (nrptg*nth > ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + nrptg--; + } + } + + nth = std::min(nth, nk0); + + ggml_metal_kargs_set_rows args = { + /*.nk0 =*/ nk0, + /*.ne01 =*/ ne01, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne11 =*/ ne11, + /*.ne12 =*/ ne12, + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + }; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 3); + + ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nrptg - 1)/nrptg, ne02, ne03, nth, nrptg, 1); + + return 1; +} + +int ggml_metal_op_soft_max(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne2, op->src[2], ne); + GGML_TENSOR_LOCALS(uint64_t, nb2, op->src[2], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + float scale; + float max_bias; + + memcpy(&scale, ((const int32_t *) op->op_params) + 0, sizeof(scale)); + memcpy(&max_bias, ((const int32_t *) op->op_params) + 1, sizeof(max_bias)); + + const uint32_t n_head = op->src[0]->ne[2]; + const int32_t n_head_log2 = 1u << (uint32_t) floorf(log2f((float) n_head)); + + const float m0 = powf(2.0f, -(max_bias ) / n_head_log2); + const float m1 = powf(2.0f, -(max_bias / 2.0f) / n_head_log2); + + // softmax + + ggml_metal_kargs_soft_max args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne11 =*/ ne11, + /*.ne12 =*/ ne12, + /*.ne13 =*/ ne13, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + /*.scale =*/ scale, + /*.max_bias =*/ max_bias, + /*.m0 =*/ m0, + /*.m1 =*/ m1, + /*.n_head_log2 =*/ n_head_log2, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_soft_max(lib, op); + + int nth = 32; // SIMD width + + if (ne00%4 == 0) { + while (nth < ne00/4 && nth*ne01*ne02*ne03 < 256) { + nth *= 2; + } + } else { + while (nth < ne00 && nth*ne01*ne02*ne03 < 256) { + nth *= 2; + } + } + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes(enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[0]), 1); + if (op->src[1]) { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[1]), 2); + } else { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[0]), 2); + } + if (op->src[2]) { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[2]), 3); + } else { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[0]), 3); + } + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op), 4); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne01, ne02, ne03, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_ssm_conv(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + ggml_metal_kargs_ssm_conv args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.ne10 =*/ ne10, + /*.ne11 =*/ ne11, + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_ssm_conv(lib, op); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes(enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op), 3); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne01, ne1, ne02, 1, 1, 1); + + return 1; +} + +int ggml_metal_op_ssm_scan(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne2, op->src[2], ne); + GGML_TENSOR_LOCALS(uint64_t, nb2, op->src[2], nb); + GGML_TENSOR_LOCALS( int32_t, ne3, op->src[3], ne); + GGML_TENSOR_LOCALS(uint64_t, nb3, op->src[3], nb); + GGML_TENSOR_LOCALS( int32_t, ne4, op->src[4], ne); + GGML_TENSOR_LOCALS(uint64_t, nb4, op->src[4], nb); + GGML_TENSOR_LOCALS( int32_t, ne5, op->src[5], ne); + GGML_TENSOR_LOCALS(uint64_t, nb5, op->src[5], nb); + GGML_TENSOR_LOCALS( int32_t, ne6, op->src[6], ne); + GGML_TENSOR_LOCALS(uint64_t, nb6, op->src[6], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + const ggml_tensor * src3 = op->src[3]; + const ggml_tensor * src4 = op->src[4]; + const ggml_tensor * src5 = op->src[5]; + const ggml_tensor * src6 = op->src[6]; + + GGML_ASSERT(src3); + GGML_ASSERT(src4); + GGML_ASSERT(src5); + GGML_ASSERT(src6); + + const int64_t d_state = ne00; + const int64_t d_inner = ne01; + const int64_t n_head = ne02; + const int64_t n_group = ne41; + const int64_t n_seq_tokens = ne12; + const int64_t n_seqs = ne13; + + ggml_metal_kargs_ssm_scan args = { + /*.d_state =*/ d_state, + /*.d_inner =*/ d_inner, + /*.n_head =*/ n_head, + /*.n_group =*/ n_group, + /*.n_seq_tokens =*/ n_seq_tokens, + /*.n_seqs =*/ n_seqs, + /*.s_off =*/ ggml_nelements(op->src[1]) * sizeof(float), + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.nb21 =*/ nb21, + /*.nb22 =*/ nb22, + /*.nb31 =*/ nb31, + /*.nb41 =*/ nb41, + /*.nb42 =*/ nb42, + /*.nb43 =*/ nb43, + /*.nb51 =*/ nb51, + /*.nb52 =*/ nb52, + /*.nb53 =*/ nb53, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_ssm_scan(lib, op); + + const size_t sms = ggml_metal_pipeline_get_smem(pipeline); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[2]), 3); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[3]), 4); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[4]), 5); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[5]), 6); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[6]), 7); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 8); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, sms, 0); + + if (ne30 == 1) { + // Mamba-2 + ggml_metal_encoder_dispatch_threadgroups(enc, d_inner, n_head, n_seqs, d_state, 1, 1); + } else { + GGML_ASSERT(d_inner == 1); + ggml_metal_encoder_dispatch_threadgroups(enc, n_head, n_seqs, 1, d_state, 1, 1); + } + + return 1; +} + +int ggml_metal_op_rwkv(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + const int64_t B = op->op == GGML_OP_RWKV_WKV6 ? op->src[5]->ne[1] : op->src[6]->ne[1]; + const int64_t T = op->src[0]->ne[2]; + const int64_t C = op->ne[0]; + const int64_t H = op->src[0]->ne[1]; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_rwkv(lib, op); + + int ida = 0; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), ida++); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), ida++); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[2]), ida++); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[3]), ida++); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[4]), ida++); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[5]), ida++); + if (op->op == GGML_OP_RWKV_WKV7) { + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[6]), ida++); + } + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), ida++); + ggml_metal_encoder_set_bytes (enc, (void *) &B, sizeof(B), ida++); + ggml_metal_encoder_set_bytes (enc, (void *) &T, sizeof(T), ida++); + ggml_metal_encoder_set_bytes (enc, (void *) &C, sizeof(C), ida++); + ggml_metal_encoder_set_bytes (enc, (void *) &H, sizeof(H), ida++); + + ggml_metal_encoder_dispatch_threadgroups(enc, B * H, 1, 1, C/H, 1, 1); + + return 1; +} + +int ggml_metal_op_cpy(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_cpy(lib, op->src[0]->type, op->type); + + GGML_ASSERT(ne00 % ggml_blck_size(op->src[0]->type) == 0); + + // TODO: support + //const int32_t nk00 = ne00/ggml_blck_size(op->type); + const int32_t nk00 = ne00; + + int nth = 32; // SIMD width + + while (nth < nk00 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + nth *= 2; + } + + nth = std::min(nth, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); + + // when rows are small, we can batch them together in a single threadgroup + int nrptg = 1; + + // TODO: relax this constraint in the future + if (ggml_blck_size(op->src[0]->type) == 1 && ggml_blck_size(op->type) == 1) { + if (nth > nk00) { + nrptg = (nth + nk00 - 1)/nk00; + nth = nk00; + + if (nrptg*nth > ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + nrptg--; + } + } + } + + nth = std::min(nth, nk00); + + ggml_metal_kargs_cpy args = { + /*.ne00 =*/ nk00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + }; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne01, ne02, ne03, nth, nrptg, 1); + + return 1; +} + +int ggml_metal_op_pool_2d(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + const int32_t * opts = op->op_params; + ggml_op_pool op_pool = (ggml_op_pool) opts[0]; + + const int32_t k0 = opts[1]; + const int32_t k1 = opts[2]; + const int32_t s0 = opts[3]; + const int32_t s1 = opts[4]; + const int32_t p0 = opts[5]; + const int32_t p1 = opts[6]; + + const int64_t IH = op->src[0]->ne[1]; + const int64_t IW = op->src[0]->ne[0]; + + const int64_t N = op->ne[3]; + const int64_t OC = op->ne[2]; + const int64_t OH = op->ne[1]; + const int64_t OW = op->ne[0]; + + const int64_t np = N * OC * OH * OW; + + ggml_metal_kargs_pool_2d args_pool_2d = { + /* .k0 = */ k0, + /* .k1 = */ k1, + /* .s0 = */ s0, + /* .s1 = */ s1, + /* .p0 = */ p0, + /* .p1 = */ p1, + /* .IH = */ IH, + /* .IW = */ IW, + /* .OH = */ OH, + /* .OW = */ OW, + /* .np = */ np + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_pool_2d(lib, op, op_pool); + + const int nth = std::min(ggml_metal_pipeline_max_theads_per_threadgroup(pipeline), (int) np); + const int ntg = (np + nth - 1) / nth; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args_pool_2d, sizeof(args_pool_2d), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, ntg, 1, 1, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_mul_mat(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + const ggml_metal_device_props * props_dev = ggml_metal_device_get_props(ctx->dev); + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + GGML_ASSERT(ne00 == ne10); + + GGML_ASSERT(ne12 % ne02 == 0); + GGML_ASSERT(ne13 % ne03 == 0); + + const int16_t r2 = ne12/ne02; + const int16_t r3 = ne13/ne03; + + // find the break-even point where the matrix-matrix kernel becomes more efficient compared + // to the matrix-vector kernel + const int ne11_mm_min = 8; + + // first try to use small-batch mat-mv kernels + // these should be efficient for BS [2, ~8] + if (op->src[1]->type == GGML_TYPE_F32 && (ne00%128 == 0) && + ( + ( + ( + op->src[0]->type == GGML_TYPE_F32 || // TODO: helper function + op->src[0]->type == GGML_TYPE_F16 || + op->src[0]->type == GGML_TYPE_Q4_0 || + op->src[0]->type == GGML_TYPE_Q4_1 || + op->src[0]->type == GGML_TYPE_Q5_0 || + op->src[0]->type == GGML_TYPE_Q5_1 || + op->src[0]->type == GGML_TYPE_Q8_0 || + op->src[0]->type == GGML_TYPE_MXFP4 || + op->src[0]->type == GGML_TYPE_IQ4_NL || + false) && (ne11 >= 2 && ne11 <= 8) + ) || + ( + ( + op->src[0]->type == GGML_TYPE_Q4_K || + op->src[0]->type == GGML_TYPE_Q5_K || + op->src[0]->type == GGML_TYPE_Q6_K || + false) && (ne11 >= 4 && ne11 <= 8) + ) + ) + ) { + // TODO: determine the optimal parameters based on grid utilization + // I still don't know why we should not always use the maximum available threads: + // + // nsg = pipeline.maxTotalThreadsPerThreadgroup / 32 + // + // my current hypothesis is that the work grid is not evenly divisible for different nsg + // values and there can be some tail effects when nsg is high. need to confirm this + // + const int nsg = 2; // num simdgroups per threadgroup + + // num threads along row per simdgroup + int16_t nxpsg = 0; + if (ne00 % 256 == 0 && ne11 < 3) { + nxpsg = 16; + } else if (ne00 % 128 == 0) { + nxpsg = 8; + } else { + nxpsg = 4; + } + + const int16_t nypsg = 32/nxpsg; // num threads along col per simdgroup (i.e. a simdgroup processes that many src0 rows at a time) + const int16_t r0ptg = nypsg*nsg; // num src0 rows per threadgroup + int16_t r1ptg = 4; // num src1 rows per threadgroup + + // note: not sure how optimal are those across all different hardware. there might be someting cleverer + switch (ne11) { + case 2: + r1ptg = 2; break; + case 3: + case 6: + r1ptg = 3; break; + case 4: + case 7: + case 8: + r1ptg = 4; break; + case 5: + r1ptg = 5; break; + default: + GGML_ABORT("unsupported ne11"); + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_mul_mv_ext(lib, op->src[0]->type, op->src[1]->type, r1ptg); + + ggml_metal_kargs_mul_mv_ext args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne10 =*/ ne10, + /*.ne11 =*/ ne11, + /*.ne12 =*/ ne12, + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.r2 =*/ r2, + /*.r3 =*/ r3, + /*.nsg =*/ nsg, + /*.nxpsg =*/ nxpsg, + /*.r1ptg =*/ r1ptg, + }; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 3); + + ggml_metal_encoder_dispatch_threadgroups(enc, ((ne01 + r0ptg - 1)/r0ptg), ((ne11 + r1ptg - 1)/r1ptg), ne12*ne13, 32, nsg, 1); + } else if ( + !ggml_is_transposed(op->src[0]) && + !ggml_is_transposed(op->src[1]) && + // for now the matrix-matrix multiplication kernel only works on A14+/M1+ SoCs + // AMD GPU and older A-chips will reuse matrix-vector multiplication kernel + props_dev->has_simdgroup_mm && + op->src[1]->type == GGML_TYPE_F32 && + ne00 % 32 == 0 && ne00 >= 64 && + (ne11 > ne11_mm_min || (ggml_is_quantized(op->src[0]->type) && ne12 > 1))) { + //printf("matrix: ne00 = %6d, ne01 = %6d, ne02 = %6d, ne11 = %6d, ne12 = %6d\n", ne00, ne01, ne02, ne11, ne12); + + // some Metal matrix data types require aligned pointers + // ref: https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf (Table 2.5) + switch (op->src[0]->type) { + case GGML_TYPE_F32: GGML_ASSERT(nb01 % 16 == 0); break; + case GGML_TYPE_F16: GGML_ASSERT(nb01 % 8 == 0); break; + case GGML_TYPE_BF16: GGML_ASSERT(nb01 % 8 == 0); break; + default: break; + } + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_mul_mm(lib, op->src[0]->type, op->src[1]->type); + + ggml_metal_kargs_mul_mm args = { + /*.ne00 =*/ ne00, + /*.ne02 =*/ ne02, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne12 =*/ ne12, + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.r2 =*/ r2, + /*.r3 =*/ r3, + }; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 3); + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + ggml_metal_encoder_dispatch_threadgroups(enc, ((ne11 + 31)/32), ((ne01 + 63)/64), ne12*ne13, 128, 1, 1); + } else { + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_mul_mv(lib, op); + + ggml_metal_kargs_mul_mv args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne10 =*/ ne10, + /*.ne11 =*/ ne11, + /*.ne12 =*/ ne12, + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.r2 =*/ r2, + /*.r3 =*/ r3, + }; + + const int nr0 = ggml_metal_pipeline_get_nr0(pipeline); + const int nr1 = ggml_metal_pipeline_get_nr1(pipeline); + const int nsg = ggml_metal_pipeline_get_nsg(pipeline); + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 3); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + if (op->src[0]->type == GGML_TYPE_Q8_0) { + ggml_metal_encoder_dispatch_threadgroups(enc, ((ne01 + nr0 - 1)/(nr0)), ((ne11 + nr1 - 1)/nr1), ne12*ne13, 32, nsg, 1); + } else { + ggml_metal_encoder_dispatch_threadgroups(enc, ((ne01 + nr0*nsg - 1)/(nr0*nsg)), ((ne11 + nr1 - 1)/nr1), ne12*ne13, 32, nsg, 1); + } + } + + return 1; +} + +size_t ggml_metal_op_mul_mat_id_extra_tpe(const ggml_tensor * op) { + assert(op->op == GGML_OP_MUL_MAT_ID); + + const int64_t ne02 = op->src[0]->ne[2]; // n_expert + + return ggml_type_size(GGML_TYPE_I32)*ne02; +} + +size_t ggml_metal_op_mul_mat_id_extra_ids(const ggml_tensor * op) { + assert(op->op == GGML_OP_MUL_MAT_ID); + + const int64_t ne02 = op->src[0]->ne[2]; // n_expert + const int64_t ne21 = op->src[2]->ne[1]; // n_token + + return ggml_type_size(GGML_TYPE_I32)*ne02*ne21; +} + +int ggml_metal_op_mul_mat_id(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + const ggml_metal_device_props * props_dev = ggml_metal_device_get_props(ctx->dev); + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne2, op->src[2], ne); + GGML_TENSOR_LOCALS(uint64_t, nb2, op->src[2], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + // src2 = ids + GGML_ASSERT(op->src[2]->type == GGML_TYPE_I32); + + GGML_ASSERT(!ggml_is_transposed(op->src[0])); + GGML_ASSERT(!ggml_is_transposed(op->src[1])); + + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + + GGML_ASSERT(ne03 == 1); + GGML_ASSERT(ne13 == 1); + + ggml_metal_buffer_id bid_src0 = ggml_metal_get_buffer_id(op->src[0]); + ggml_metal_buffer_id bid_src1 = ggml_metal_get_buffer_id(op->src[1]); + ggml_metal_buffer_id bid_src2 = ggml_metal_get_buffer_id(op->src[2]); + ggml_metal_buffer_id bid_dst = ggml_metal_get_buffer_id(op); + + const uint32_t r2 = 1; + const uint32_t r3 = 1; + + // find the break-even point where the matrix-matrix kernel becomes more efficient compared + // to the matrix-vector kernel + // ne20 = n_used_experts + // ne21 = n_rows (batch size) + const int ne21_mm_id_min = 32; + + if (props_dev->has_simdgroup_mm && + ne00 % 32 == 0 && ne00 >= 64 && + (ne21 >= ne21_mm_id_min)) { + GGML_ASSERT(ne00 % 4 == 0); + + // some Metal matrix data types require aligned pointers + // ref: https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf (Table 2.5) + switch (op->src[0]->type) { + case GGML_TYPE_F32: GGML_ASSERT(nb01 % 16 == 0); break; + case GGML_TYPE_F16: GGML_ASSERT(nb01 % 8 == 0); break; + case GGML_TYPE_BF16: GGML_ASSERT(nb01 % 8 == 0); break; + default: break; + } + + // extra buffers for intermediate id mapping + ggml_metal_buffer_id bid_tpe = bid_dst; + bid_tpe.offs += ggml_nbytes(op); + + ggml_metal_buffer_id bid_ids = bid_tpe; + bid_ids.offs += ggml_metal_op_mul_mat_id_extra_tpe(op); + + { + ggml_metal_kargs_mul_mm_id_map0 args = { + ne02, + ne10, + ne11, // n_expert_used (bcast) + nb11, + nb12, + ne21, // n_tokens + ne20, // n_expert_used + nb21, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_mul_mm_id_map0(lib, ne02, ne20); + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + GGML_ASSERT(ne02 <= ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); + + GGML_ASSERT(smem <= props_dev->max_theadgroup_memory_size); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, bid_src2, 1); + ggml_metal_encoder_set_buffer (enc, bid_tpe, 2); + ggml_metal_encoder_set_buffer (enc, bid_ids, 3); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, 1, 1, 1, ne02, 1, 1); + } + + // this barrier is always needed because the next kernel has to wait for the id maps to be computed + ggml_metal_op_concurrency_reset(ctx); + + { + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_mul_mm_id(lib, op->src[0]->type, GGML_TYPE_F16); + + ggml_metal_kargs_mul_mm_id args = { + /*.ne00 =*/ ne00, + /*.ne02 =*/ ne02, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne11 =*/ ne11, // n_expert_used (bcast) + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.ne20 =*/ ne20, // n_expert_used + /*.ne21 =*/ ne21, // n_tokens + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.r2 =*/ r2, + /*.r3 =*/ r3, + }; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, bid_src0, 1); + ggml_metal_encoder_set_buffer (enc, bid_src1, 2); + ggml_metal_encoder_set_buffer (enc, bid_tpe, 3); + ggml_metal_encoder_set_buffer (enc, bid_ids, 4); + ggml_metal_encoder_set_buffer (enc, bid_dst, 5); + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, (ne21 + 31)/32, (ne01 + 63)/64, ne02, 128, 1, 1); + } + } else { + ggml_metal_kargs_mul_mv_id args = { + /*.nei0 =*/ ne20, + /*.nei1 =*/ ne21, + /*.nbi1 =*/ nb21, + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.ne10 =*/ ne10, + /*.ne11 =*/ ne11, + /*.ne12 =*/ ne12, + /*.ne13 =*/ ne13, + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.nb1 =*/ nb1, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_mul_mv_id(lib, op); + + const int nr0 = ggml_metal_pipeline_get_nr0(pipeline); + const int nr1 = ggml_metal_pipeline_get_nr1(pipeline); + const int nsg = ggml_metal_pipeline_get_nsg(pipeline); + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + if (ggml_is_quantized(op->src[0]->type)) { + GGML_ASSERT(ne00 >= nsg*nr0); + } + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes(enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer(enc, bid_src0, 1); + ggml_metal_encoder_set_buffer(enc, bid_src1, 2); + ggml_metal_encoder_set_buffer(enc, bid_dst, 3); + ggml_metal_encoder_set_buffer(enc, bid_src2, 4); + + const int64_t _ne1 = 1; + const int64_t ne123 = ne20*ne21; + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + if (op->src[0]->type == GGML_TYPE_Q8_0) { + ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nr0 - 1)/(nr0), (_ne1 + nr1 - 1)/nr1, ne123, 32, nsg, 1); + } else { + ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nr0*nsg - 1)/(nr0*nsg), (_ne1 + nr1 - 1)/nr1, ne123, 32, nsg, 1); + } + } + + return 1; +} + +int ggml_metal_op_add_id(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne2, op->src[2], ne); + GGML_TENSOR_LOCALS(uint64_t, nb2, op->src[2], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + + GGML_ASSERT(op->src[0]->type == GGML_TYPE_F32); + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + GGML_ASSERT(op->src[2]->type == GGML_TYPE_I32); + GGML_ASSERT(op->type == GGML_TYPE_F32); + + GGML_ASSERT(ggml_is_contiguous_rows(op->src[0])); + + ggml_metal_kargs_add_id args = { + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb11 =*/ nb11, + /*.nb21 =*/ nb21, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_base(lib, GGML_OP_ADD_ID); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[2]), 3); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 4); + + const int nth = std::min(ggml_metal_pipeline_max_theads_per_threadgroup(pipeline), ne00); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne01, ne02, 1, nth, 1, 1); + + return 1; +} + +bool ggml_metal_op_flash_attn_ext_use_vec(const ggml_tensor * op) { + assert(op->op == GGML_OP_FLASH_ATTN_EXT); + + const int64_t ne00 = op->src[0]->ne[0]; // head size + const int64_t ne01 = op->src[0]->ne[1]; // batch size + + // use vec kernel if the batch size is small and if the head size is supported + return (ne01 < 20) && (ne00 % 32 == 0); +} + +size_t ggml_metal_op_flash_attn_ext_extra_tmp(const ggml_tensor * op) { + assert(op->op == GGML_OP_FLASH_ATTN_EXT); + + const int64_t nwg = 32; + + const int64_t ne01 = op->src[0]->ne[1]; + const int64_t ne02 = op->src[0]->ne[2]; + const int64_t ne03 = op->src[0]->ne[3]; + const int64_t ne20 = op->src[2]->ne[0]; + + // temp buffer for writing the results from each workgroup + // - ne20: the size of the Value head + // - + 2: the S and M values for each intermediate result + return ggml_type_size(GGML_TYPE_F32)*(ne01*ne02*ne03*nwg*(ne20 + 2)); +} + +int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + const ggml_metal_device_props * props_dev = ggml_metal_device_get_props(ctx->dev); + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne2, op->src[2], ne); + GGML_TENSOR_LOCALS(uint64_t, nb2, op->src[2], nb); + GGML_TENSOR_LOCALS( int32_t, ne3, op->src[3], ne); + GGML_TENSOR_LOCALS(uint64_t, nb3, op->src[3], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS( int32_t, nb, op, nb); + + GGML_ASSERT(ne00 % 4 == 0); + GGML_ASSERT(ne11 % 32 == 0); + + GGML_ASSERT(op->src[0]->type == GGML_TYPE_F32); + GGML_ASSERT(op->src[1]->type == op->src[2]->type); + + //GGML_ASSERT(ggml_are_same_shape (src1, src2)); + GGML_ASSERT(ne11 == ne21); + GGML_ASSERT(ne12 == ne22); + + GGML_ASSERT(!op->src[3] || op->src[3]->type == GGML_TYPE_F16); + GGML_ASSERT(!op->src[3] || op->src[3]->ne[1] >= GGML_PAD(op->src[0]->ne[1], 8) && + "the Flash-Attention Metal kernel requires the mask to be padded to 8 and at least n_queries big"); + + float scale; + float max_bias; + float logit_softcap; + + memcpy(&scale, ((const int32_t *) op->op_params) + 0, sizeof(scale)); + memcpy(&max_bias, ((const int32_t *) op->op_params) + 1, sizeof(max_bias)); + memcpy(&logit_softcap, ((const int32_t *) op->op_params) + 2, sizeof(logit_softcap)); + + if (logit_softcap != 0.0f) { + scale /= logit_softcap; + } + + const bool has_mask = op->src[3] != NULL; + const bool has_sinks = op->src[4] != NULL; + const bool has_bias = max_bias != 0.0f; + const bool has_scap = logit_softcap != 0.0f; + + const uint32_t n_head = op->src[0]->ne[2]; + const int32_t n_head_log2 = 1u << (uint32_t) floorf(log2f((float) n_head)); + + const float m0 = powf(2.0f, -(max_bias ) / n_head_log2); + const float m1 = powf(2.0f, -(max_bias / 2.0f) / n_head_log2); + + GGML_ASSERT(ne01 < 65536); + + if (!ggml_metal_op_flash_attn_ext_use_vec(op)) { + // half8x8 kernel + const int64_t nqptg = 8; // queries per threadgroup !! sync with kernel template arguments !! + const int64_t ncpsg = 64; // cache values per simdgroup !! sync with kernel template arguments !! + + GGML_ASSERT(nqptg <= 32); + GGML_ASSERT(nqptg % 8 == 0); + GGML_ASSERT(ncpsg % 32 == 0); + + const int is_q = ggml_is_quantized(op->src[1]->type) ? 1 : 0; + + // 2*(2*ncpsg) + // ncpsg soft_max values + ncpsg mask values + // + // 16*32*(nsg) + // the shared memory needed for the simdgroups to load the KV cache + // each thread loads (dequantizes) 16 head elements, there are 32 threads in th SG + // +#define FATTN_SMEM(nsg) (GGML_PAD((nqptg*(ne00 + 2*GGML_PAD(ne20, 64) + 2*(2*ncpsg)) + is_q*(16*32*(nsg)))*(sizeof(float)/2), 16)) + + //int64_t nsgmax = 4; + // + //if (is_q) { + // nsgmax = 2; + // while (true) { + // const size_t smem = FATTN_SMEM(nsgmax); + // if (smem > props_dev->max_theadgroup_memory_size) { + // break; + // } + // nsgmax *= 2; + // } + // nsgmax /= 2; + //} + + // simdgroups per threadgroup (a.k.a. warps) + //nsg = ne01 <= nqptg ? MAX(4, MIN(nsgmax, MIN(ne11/ncpsg, (int64_t) pipeline.maxTotalThreadsPerThreadgroup/32))) : 4; + int32_t nsg = 4; + + const size_t smem = FATTN_SMEM(nsg); + + ggml_metal_kargs_flash_attn_ext args = { + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne11 =*/ ne11, + /*.ne_12_2 =*/ ne12, + /*.ne_12_3 =*/ ne13, + /*.ns10 =*/ int32_t(nb11/nb10), + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.ns20 =*/ int32_t(nb21/nb20), + /*.nb21 =*/ nb21, + /*.nb22 =*/ nb22, + /*.nb23 =*/ nb23, + /*.ne32 =*/ ne32, + /*.ne33 =*/ ne33, + /*.nb31 =*/ nb31, + /*.nb32 =*/ nb32, + /*.nb33 =*/ nb33, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.scale =*/ scale, + /*.max_bias =*/ max_bias, + /*.m0 =*/ m0, + /*.m1 =*/ m1, + /*.n_head_log2 =*/ n_head_log2, + /*.logit_softcap =*/ logit_softcap, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_flash_attn_ext(lib, op, has_mask, has_sinks, has_bias, has_scap, nsg); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[2]), 3); + if (op->src[3]) { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[3]), 4); + } else { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[0]), 4); + } + if (op->src[4]) { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[4]), 5); + } else { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[0]), 5); + } + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 6); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nqptg - 1)/nqptg, ne02, ne03, 32, nsg, 1); +#undef FATTN_SMEM + } else { + // half4x4 kernel + const int64_t nqptg = 1; // queries per threadgroup !! sync with kernel template arguments !! + const int64_t ncpsg = 32; // cache values per simdgroup !! sync with kernel template arguments !! + const int64_t nkpsg = 1*ncpsg; + + GGML_ASSERT(nqptg <= 32); + GGML_ASSERT(nqptg % 1 == 0); + GGML_ASSERT(ncpsg % 32 == 0); + + // ne00 + 2*ncpsg*(nsg) + // for each query, we load it as f16 in shared memory (ne00) + // and store the soft_max values and the mask + // + // ne20*(nsg) + // each simdgroup has a full f32 head vector in shared mem to accumulate results + // +#define FATTN_SMEM(nsg) (GGML_PAD((nqptg*(GGML_PAD(ne00, 128) + 4*ncpsg*(nsg)) + 2*GGML_PAD(ne20, 128)*(nsg))*(sizeof(float)/2), 16)) + + int64_t nsgmax = 2; + while (true) { + const size_t smem = FATTN_SMEM(nsgmax); + // avoid using more than half of the threadgroup memory - can cause slow downs especially for large head sizes + if (smem > props_dev->max_theadgroup_memory_size/2) { + break; + } + nsgmax *= 2; + } + nsgmax /= 2; + + // simdgroups per threadgroup (a.k.a. warps) + //const int64_t nsgt = MAX(2, MIN(nsgmax, MIN((ne11 + nkpsg - 1)/(nkpsg), (int64_t) pipeline.maxTotalThreadsPerThreadgroup/32))); + const int64_t nsgt = MAX(2, MIN(nsgmax, MIN((ne11 + nkpsg - 1)/(nkpsg), (int64_t) 1024/32))); + + int64_t nsg = 1; + while (nsg <= nsgt) { + nsg *= 2; + } + nsg /= 2; + + // workgroups + // each workgroup handles nsg*nkpsg cache values + int32_t nwg = 1; + if (false) { + // for small KV caches, we could launch a single workgroup and write the results directly to dst/ + // however, this does not lead to significant improvement, so disabled + nwg = 1; + nsg = 4; + } else { + nwg = 32; + nsg = 1; + while (2*nwg*nsg*nkpsg < ne11 && nsg < 4) { + nsg *= 2; + } + } + + ggml_metal_kargs_flash_attn_ext_vec args = { + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne11 =*/ ne11, + /*.ne_12_2 =*/ ne12, + /*.ne_12_3 =*/ ne13, + /*.ns10 =*/ int32_t(nb11/nb10), + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.ns20 =*/ int32_t(nb21/nb20), + /*.nb21 =*/ nb21, + /*.nb22 =*/ nb22, + /*.nb23 =*/ nb23, + /*.ne32 =*/ ne32, + /*.ne33 =*/ ne33, + /*.nb31 =*/ nb31, + /*.nb32 =*/ nb32, + /*.nb33 =*/ nb33, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.scale =*/ scale, + /*.max_bias =*/ max_bias, + /*.m0 =*/ m0, + /*.m1 =*/ m1, + /*.n_head_log2 =*/ n_head_log2, + /*.logit_softcap =*/ logit_softcap, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_flash_attn_ext_vec(lib, op, has_mask, has_sinks, has_bias, has_scap, nsg, nwg); + + GGML_ASSERT(nsg*32 <= ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[2]), 3); + if (op->src[3]) { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[3]), 4); + } else { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[0]), 4); + } + if (op->src[4]) { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[4]), 5); + } else { + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[0]), 5); + } + + const size_t smem = FATTN_SMEM(nsg); + + //printf("smem: %zu, max: %zu, nsg = %d, nsgmax = %d\n", smem, props_dev->max_theadgroup_memory_size, (int) nsg, (int) nsgmax); + GGML_ASSERT(smem <= props_dev->max_theadgroup_memory_size); + + if (nwg == 1) { + // using 1 workgroup -> write the result directly into dst + ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op), 6); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nqptg - 1)/nqptg, ne02, ne03*nwg, 32, nsg, 1); + } else { + // sanity checks + GGML_ASSERT(ne01*ne02*ne03 == ne1*ne2*ne3); + GGML_ASSERT((uint64_t)ne1*ne2*ne3 <= (1u << 31)); + + ggml_metal_buffer_id bid_dst = ggml_metal_get_buffer_id(op); + + // write the results from each workgroup into a temp buffer + ggml_metal_buffer_id bid_tmp = bid_dst; + bid_tmp.offs += ggml_nbytes(op); + ggml_metal_encoder_set_buffer(enc, bid_tmp, 6); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nqptg - 1)/nqptg, ne02, ne03*nwg, 32, nsg, 1); + + // sync the 2 kernels + ggml_metal_op_concurrency_reset(ctx); + + // reduce the results from the workgroups + { + const int32_t nrows = ne1*ne2*ne3; + + ggml_metal_kargs_flash_attn_ext_vec_reduce args0 = { + nrows, + }; + + ggml_metal_pipeline_t pipeline0 = ggml_metal_library_get_pipeline_flash_attn_ext_vec_reduce(lib, op, ne20, nwg); + + ggml_metal_encoder_set_pipeline(enc, pipeline0); + ggml_metal_encoder_set_bytes (enc, &args0, sizeof(args0), 0); + ggml_metal_encoder_set_buffer (enc, bid_tmp, 1); + ggml_metal_encoder_set_buffer (enc, bid_dst, 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, nrows, 1, 1, 32*nwg, 1, 1); + } + } +#undef FATTN_SMEM + } + + return 1; +} + +int ggml_metal_op_bin(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_tensor ** ops = ggml_graph_nodes(gf) + idx; + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + const int idx_end = ctx->idx_end; + + const bool use_fusion = ctx->use_fusion; + + const int debug_fusion = ctx->debug_fusion; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint64_t, nb, op, nb); + + GGML_ASSERT(op->src[0]->type == GGML_TYPE_F32); + GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); + + GGML_ASSERT(ggml_is_contiguous_rows(op->src[0])); + GGML_ASSERT(ggml_is_contiguous_rows(op->src[1])); + + bool bcast_row = false; + + ggml_metal_buffer_id bid_src0 = ggml_metal_get_buffer_id(op->src[0]); + ggml_metal_buffer_id bid_src1 = ggml_metal_get_buffer_id(op->src[1]); + ggml_metal_buffer_id bid_dst = ggml_metal_get_buffer_id(op); + + ggml_metal_kargs_bin args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne10 =*/ ne10, + /*.ne11 =*/ ne11, + /*.ne12 =*/ ne12, + /*.ne13 =*/ ne13, + /*.nb10 =*/ nb10, + /*.nb11 =*/ nb11, + /*.nb12 =*/ nb12, + /*.nb13 =*/ nb13, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + /*.offs =*/ 0, + /*.o1 =*/ { bid_src1.offs }, + }; + + ggml_op fops[8]; + + int n_fuse = 1; + + // c[0] = add(a, b[0]) + // c[1] = add(c[0], b[1]) + // c[2] = add(c[1], b[2]) + // ... + if (use_fusion) { + fops[0] = GGML_OP_ADD; + fops[1] = GGML_OP_ADD; + fops[2] = GGML_OP_ADD; + fops[3] = GGML_OP_ADD; + fops[4] = GGML_OP_ADD; + fops[5] = GGML_OP_ADD; + fops[6] = GGML_OP_ADD; + fops[7] = GGML_OP_ADD; + + // note: in metal, we sometimes encode the graph in parallel so we have to avoid fusing ops + // across splits. idx_end indicates the last node in the current split + for (n_fuse = 0; n_fuse <= 6 && idx + n_fuse + 1 < idx_end; ++n_fuse) { + if (!ggml_can_fuse(gf, idx + n_fuse, fops + n_fuse, 2)) { + break; + } + + if (ops[n_fuse] != ops[n_fuse + 1]->src[0]) { + break; + } + + // b[0] === b[1] === ... + if (!ggml_are_same_layout(ops[n_fuse]->src[1], ops[n_fuse + 1]->src[1])) { + break; + } + + // only fuse ops if src1 is in the same Metal buffer + ggml_metal_buffer_id bid_fuse = ggml_metal_get_buffer_id(ops[n_fuse + 1]->src[1]); + if (bid_fuse.metal != bid_src1.metal) { + break; + } + + //ctx->fuse_cnt[ops[n_fuse + 1]->op]++; + + args.o1[n_fuse + 1] = bid_fuse.offs; + } + + ++n_fuse; + + if (debug_fusion > 1 && n_fuse > 1) { + GGML_LOG_DEBUG("%s: fuse: ADD x %d\n", __func__, n_fuse); + } + } + + // the offsets of src1 and all fused buffers are relative to the start of the src1 buffer + bid_src1.offs = 0; + + ggml_metal_pipeline_t pipeline = nullptr; + + if (ggml_nelements(op->src[1]) == ne10 && ggml_is_contiguous(op->src[1]) && ne00 % 4 == 0 && ne10 % 4 == 0) { + GGML_ASSERT(ggml_is_contiguous(op->src[0])); + + // src1 is a row + GGML_ASSERT(ne11 == 1); + + pipeline = ggml_metal_library_get_pipeline_bin(lib, op->op, n_fuse, true); + + bcast_row = true; + } else { + pipeline = ggml_metal_library_get_pipeline_bin(lib, op->op, n_fuse, false); + } + + if (n_fuse > 1) { + bid_dst = ggml_metal_get_buffer_id(ops[n_fuse - 1]); + + for (int i = 1; i < n_fuse; ++i) { + if (!ggml_metal_op_concurrency_check(ctx, ops[i])) { + ggml_metal_op_concurrency_reset(ctx); + + break; + } + } + } + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, bid_src0, 1); + ggml_metal_encoder_set_buffer (enc, bid_src1, 2); + ggml_metal_encoder_set_buffer (enc, bid_dst, 3); + + if (bcast_row) { + const int64_t n = ggml_nelements(op)/4; + + ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); + } else { + int nth = 32; + + while (16*nth < ne0 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + nth *= 2; + } + + ggml_metal_encoder_dispatch_threadgroups(enc, ne01, ne02, ne03, nth, 1, 1); + } + + return n_fuse; +} + +int ggml_metal_op_rms_norm(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + const int idx_end = ctx->idx_end; + + const bool use_fusion = ctx->use_fusion; + + const int debug_fusion = ctx->debug_fusion; + + ggml_tensor ** ops = ggml_graph_nodes(gf) + idx; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + float eps; + memcpy(&eps, op->op_params, sizeof(float)); + + ggml_metal_buffer_id bid_src0 = ggml_metal_get_buffer_id(op->src[0]); + ggml_metal_buffer_id bid_dst = ggml_metal_get_buffer_id(op); + + ggml_metal_kargs_rms_norm args = { + /*.ne00 =*/ ne00, + /*.ne00_4 =*/ ne00/4, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + /*.eps =*/ eps, + /*.nef1 =*/ { ne01 }, + /*.nef2 =*/ { ne02 }, + /*.nef3 =*/ { ne03 }, + /*.nbf1 =*/ { nb01 }, + /*.nbf2 =*/ { nb02 }, + /*.nbf3 =*/ { nb03 }, + }; + + ggml_op fops[8]; + + int n_fuse = 1; + + ggml_metal_buffer_id bid_fuse[2] = { bid_src0, bid_src0 }; + + // d[0] = rms_norm(a) + // d[1] = mul(d[0], b) + // d[2] = add(d[1], c) + if (use_fusion) { + fops[0] = GGML_OP_RMS_NORM; + fops[1] = GGML_OP_MUL; + fops[2] = GGML_OP_ADD; + + for (n_fuse = 0; n_fuse <= 1 && idx + n_fuse + 1 < idx_end; ++n_fuse) { + if (!ggml_can_fuse(gf, idx + n_fuse, fops + n_fuse, 2)) { + break; + } + + if (ops[n_fuse] != ops[n_fuse + 1]->src[0]) { + break; + } + + if (ops[n_fuse + 1]->src[1]->ne[0] != op->ne[0]) { + break; + } + + if (!ggml_is_contiguous_rows(ops[n_fuse + 1]->src[1])) { + break; + } + + if (ops[n_fuse + 1]->type != GGML_TYPE_F32) { + break; + } + + //ctx->fuse_cnt[ops[n_fuse + 1]->op]++; + + bid_fuse[n_fuse] = ggml_metal_get_buffer_id(ops[n_fuse + 1]->src[1]); + + args.nef1[n_fuse + 1] = ops[n_fuse + 1]->src[1]->ne[1]; + args.nef2[n_fuse + 1] = ops[n_fuse + 1]->src[1]->ne[2]; + args.nef3[n_fuse + 1] = ops[n_fuse + 1]->src[1]->ne[3]; + + args.nbf1[n_fuse + 1] = ops[n_fuse + 1]->src[1]->nb[1]; + args.nbf2[n_fuse + 1] = ops[n_fuse + 1]->src[1]->nb[2]; + args.nbf3[n_fuse + 1] = ops[n_fuse + 1]->src[1]->nb[3]; + } + + ++n_fuse; + + if (debug_fusion > 1 && n_fuse > 1) { + if (n_fuse == 2) { + GGML_LOG_DEBUG("%s: fuse: RMS_NORM + MUL\n", __func__); + } + if (n_fuse == 3) { + GGML_LOG_DEBUG("%s: fuse: RMS_NORM + MUL + ADD\n", __func__); + } + } + } + + if (n_fuse > 1) { + bid_dst = ggml_metal_get_buffer_id(ops[n_fuse - 1]); + + for (int i = 1; i < n_fuse; ++i) { + if (!ggml_metal_op_concurrency_check(ctx, ops[i])) { + ggml_metal_op_concurrency_reset(ctx); + + break; + } + } + } + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_rms_norm(lib, op, n_fuse); + + int nth = 32; // SIMD width + + while (nth < ne00/4 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + nth *= 2; + } + + nth = std::min(nth, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); + nth = std::min(nth, ne00/4); + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, bid_src0, 1); + ggml_metal_encoder_set_buffer (enc, bid_fuse[0], 2); + ggml_metal_encoder_set_buffer (enc, bid_fuse[1], 3); + ggml_metal_encoder_set_buffer (enc, bid_dst, 4); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne01, ne02, ne03, nth, 1, 1); + + return n_fuse; +} + +int ggml_metal_op_l2_norm(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + float eps; + memcpy(&eps, op->op_params, sizeof(float)); + + int nth = 32; // SIMD width + + ggml_metal_kargs_l2_norm args = { + /*.ne00 =*/ ne00, + /*.ne00_4 =*/ ne00/4, + /*.nb01 =*/ nb01, + /*.eps =*/ eps, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_l2_norm(lib, op); + + while (nth < ne00/4 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + nth *= 2; + } + + nth = std::min(nth, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); + nth = std::min(nth, ne00/4); + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + const int64_t nrows = ggml_nrows(op->src[0]); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, nrows, 1, 1, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_group_norm(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + const int32_t ngrp = ((const int32_t *) op->op_params)[0]; + + float eps; + memcpy(&eps, op->op_params + 1, sizeof(float)); + + ggml_metal_kargs_group_norm args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.ngrp =*/ ngrp, + /*.eps =*/ eps, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_group_norm(lib, op); + + int nth = 32; // SIMD width + //while (nth < ne00/4 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + // nth *= 2; + //} + + //nth = std::min(nth, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); + //nth = std::min(nth, ne00/4); + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, ngrp, 1, 1, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_norm(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + float eps; + memcpy(&eps, op->op_params, sizeof(float)); + + ggml_metal_kargs_norm args = { + /*.ne00 =*/ ne00, + /*.ne00_4 =*/ ne00/4, + /*.nb01 =*/ nb01, + /*.eps =*/ eps, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_norm(lib, op); + + int nth = 32; // SIMD width + while (nth < ne00/4 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + nth *= 2; + } + + nth = std::min(nth, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); + nth = std::min(nth, ne00/4); + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + const int64_t nrows = ggml_nrows(op->src[0]); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, nrows, 1, 1, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_rope(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + // make sure we have one or more position id(ne10) per token(ne02) + GGML_ASSERT(ne10 % ne02 == 0); + GGML_ASSERT(ne10 >= ne02); + + const int nth = std::min(1024, ne00); + + const int n_past = ((const int32_t *) op->op_params)[0]; + const int n_dims = ((const int32_t *) op->op_params)[1]; + //const int mode = ((const int32_t *) op->op_params)[2]; + // skip 3, n_ctx, used in GLM RoPE, unimplemented in metal + const int n_ctx_orig = ((const int32_t *) op->op_params)[4]; + + float freq_base; + float freq_scale; + float ext_factor; + float attn_factor; + float beta_fast; + float beta_slow; + + memcpy(&freq_base, (const int32_t *) op->op_params + 5, sizeof(float)); + memcpy(&freq_scale, (const int32_t *) op->op_params + 6, sizeof(float)); + memcpy(&ext_factor, (const int32_t *) op->op_params + 7, sizeof(float)); + memcpy(&attn_factor, (const int32_t *) op->op_params + 8, sizeof(float)); + memcpy(&beta_fast, (const int32_t *) op->op_params + 9, sizeof(float)); + memcpy(&beta_slow, (const int32_t *) op->op_params + 10, sizeof(float)); + + // mrope + const int sect_0 = ((const int32_t *) op->op_params)[11]; + const int sect_1 = ((const int32_t *) op->op_params)[12]; + const int sect_2 = ((const int32_t *) op->op_params)[13]; + const int sect_3 = ((const int32_t *) op->op_params)[14]; + + ggml_metal_kargs_rope args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + /*.n_past =*/ n_past, + /*.n_dims =*/ n_dims, + /*.n_ctx_orig =*/ n_ctx_orig, + /*.freq_base =*/ freq_base, + /*.freq_scale =*/ freq_scale, + /*.ext_factor =*/ ext_factor, + /*.attn_factor =*/ attn_factor, + /*.beta_fast =*/ beta_fast, + /*.beta_slow =*/ beta_slow, + /* sect_0 =*/ sect_0, + /* sect_1 =*/ sect_1, + /* sect_2 =*/ sect_2, + /* sect_3 =*/ sect_3, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_rope(lib, op); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + if (op->src[2]) { + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[2]), 3); + } else { + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 3); + } + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 4); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne01, ne02, ne03, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_im2col(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + const int32_t s0 = ((const int32_t *)(op->op_params))[0]; + const int32_t s1 = ((const int32_t *)(op->op_params))[1]; + const int32_t p0 = ((const int32_t *)(op->op_params))[2]; + const int32_t p1 = ((const int32_t *)(op->op_params))[3]; + const int32_t d0 = ((const int32_t *)(op->op_params))[4]; + const int32_t d1 = ((const int32_t *)(op->op_params))[5]; + + const bool is_2D = ((const int32_t *)(op->op_params))[6] == 1; + + const int32_t N = op->src[1]->ne[is_2D ? 3 : 2]; + const int32_t IC = op->src[1]->ne[is_2D ? 2 : 1]; + const int32_t IH = is_2D ? op->src[1]->ne[1] : 1; + const int32_t IW = op->src[1]->ne[0]; + + const int32_t KH = is_2D ? op->src[0]->ne[1] : 1; + const int32_t KW = op->src[0]->ne[0]; + + const int32_t OH = is_2D ? op->ne[2] : 1; + const int32_t OW = op->ne[1]; + + const int32_t CHW = IC * KH * KW; + + const uint64_t ofs0 = op->src[1]->nb[is_2D ? 3 : 2] / 4; + const uint64_t ofs1 = op->src[1]->nb[is_2D ? 2 : 1] / 4; + + + ggml_metal_kargs_im2col args = { + /*.ofs0 =*/ ofs0, + /*.ofs1 =*/ ofs1, + /*.IW =*/ IW, + /*.IH =*/ IH, + /*.CHW =*/ CHW, + /*.s0 =*/ s0, + /*.s1 =*/ s1, + /*.p0 =*/ p0, + /*.p1 =*/ p1, + /*.d0 =*/ d0, + /*.d1 =*/ d1, + /*.N =*/ N, + /*.KH =*/ KH, + /*.KW =*/ KW, + /*.KHW =*/ KH * KW, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_im2col(lib, op); + + const uint64_t n_threads = std::min(ggml_metal_pipeline_max_theads_per_threadgroup(pipeline), N); + const int64_t quotient = N / n_threads + (N % n_threads > 0 ? 1 : 0); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, quotient * CHW, OH, OW, n_threads, 1, 1); + + return 1; +} + +int ggml_metal_op_conv_transpose_1d(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne); + GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + const int32_t s0 = ((const int32_t *)(op->op_params))[0]; + + const int32_t IC = op->src[1]->ne[1]; + const int32_t IL = op->src[1]->ne[0]; + + const int32_t K = op->src[0]->ne[0]; + + const int32_t OL = op->ne[0]; + const int32_t OC = op->ne[1]; + + ggml_metal_kargs_conv_transpose_1d args = { + /*.IC =*/ IC, + /*.IL =*/ IL, + /*.K =*/ K, + /*.s0 =*/ s0, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_conv_transpose_1d(lib, op); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[1]), 2); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 3); + + ggml_metal_encoder_dispatch_threadgroups(enc, OL, OC, 1, 1, 1, 1); + + return 1; +} + +int ggml_metal_op_upscale(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + const float sf0 = (float)ne0/op->src[0]->ne[0]; + const float sf1 = (float)ne1/op->src[0]->ne[1]; + const float sf2 = (float)ne2/op->src[0]->ne[2]; + const float sf3 = (float)ne3/op->src[0]->ne[3]; + + ggml_metal_kargs_upscale args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + /*.sf0 =*/ sf0, + /*.sf1 =*/ sf1, + /*.sf2 =*/ sf2, + /*.sf3 =*/ sf3 + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_upscale(lib, op); + + const int nth = std::min(ggml_metal_pipeline_max_theads_per_threadgroup(pipeline), ne0); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne1, ne2, ne3, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_pad(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + ggml_metal_kargs_pad args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3 + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_pad(lib, op); + + const int nth = std::min(1024, ne0); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne1, ne2, ne3, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_pad_reflect_1d(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + ggml_metal_kargs_pad_reflect_1d args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + /*.p0 =*/ ((const int32_t *)(op->op_params))[0], + /*.p1 =*/ ((const int32_t *)(op->op_params))[1] + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_pad_reflect_1d(lib, op); + + const int nth = std::min(1024, ne0); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne1, ne2, ne3, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_arange(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + float start; + float step; + + memcpy(&start, ((const int32_t *) op->op_params) + 0, sizeof(float)); + memcpy(&step, ((const int32_t *) op->op_params) + 2, sizeof(float)); + + ggml_metal_kargs_arange args = { + /*.ne0 =*/ ne0, + /*.start =*/ start, + /*.step =*/ step + }; + + const int nth = std::min(1024, ne0); + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_arange(lib, op); + + //[encoder setComputePipelineState:pipeline]; + //[encoder setBuffer:id_dst offset:offs_dst atIndex:0]; + //[encoder setBytes:&args length:sizeof(args) atIndex:1]; + + //[encoder dispatchThreadgroups:MTLSizeMake(1, 1, 1) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 1); + + ggml_metal_encoder_dispatch_threadgroups(enc, 1, 1, 1, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_timestep_embedding(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + const int dim = op->op_params[0]; + const int max_period = op->op_params[1]; + + ggml_metal_kargs_timestep_embedding args = { + /*.nb1 =*/ nb1, + /*.dim =*/ dim, + /*.max_period =*/ max_period, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_timestep_embedding(lib, op); + + const int nth = std::max(1, std::min(1024, dim/2)); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, ne00, 1, 1, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_argmax(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + ggml_metal_kargs_argmax args = { + /*.ne00 = */ ne00, + /*.nb01 = */ nb01, + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_argmax(lib, op); + + const int64_t nrows = ggml_nrows(op->src[0]); + + int nth = 32; // SIMD width + while (nth < ne00 && nth*ne01*ne02*ne03 < 256) { + nth *= 2; + } + + const size_t smem = ggml_metal_pipeline_get_smem(pipeline); + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, nrows, 1, 1, nth, 1, 1); + + return 1; +} + +int ggml_metal_op_argsort(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + // bitonic sort requires the number of elements to be power of 2 + int64_t ne00_padded = 1; + while (ne00_padded < ne00) { + ne00_padded *= 2; + } + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_argsort(lib, op); + + const int64_t nrows = ggml_nrows(op->src[0]); + + // Metal kernels require the buffer size to be multiple of 16 bytes + // https://developer.apple.com/documentation/metal/mtlcomputecommandencoder/1443142-setthreadgroupmemorylength + const size_t smem = GGML_PAD(ne00_padded*sizeof(int32_t), 16); + + ggml_metal_kargs_argsort args = { + /*.ncols =*/ ne00, + /*.ncols_pad =*/ ne00_padded + }; + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); + + ggml_metal_encoder_dispatch_threadgroups(enc, 1, nrows, 1, ne00_padded, 1, 1); + + return 1; +} + +int ggml_metal_op_leaky_relu(ggml_metal_op_t ctx, int idx) { + ggml_cgraph * gf = ctx->gf; + ggml_tensor * op = ggml_graph_node(gf, idx); + + ggml_metal_library_t lib = ctx->lib; + ggml_metal_encoder_t enc = ctx->enc; + + GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); + GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); + GGML_TENSOR_LOCALS( int32_t, ne, op, ne); + GGML_TENSOR_LOCALS(uint32_t, nb, op, nb); + + float slope; + memcpy(&slope, op->op_params, sizeof(float)); + + ggml_metal_kargs_leaky_relu args = { + /*.slope =*/ slope + }; + + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_unary(lib, op); + + int64_t n = ggml_nelements(op); + + if (n % 4 == 0) { + n /= 4; + } + + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); + ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + + ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); + + return 1; +} diff --git a/ggml/src/ggml-metal/ggml-metal-ops.h b/ggml/src/ggml-metal/ggml-metal-ops.h new file mode 100644 index 0000000000..b620de164d --- /dev/null +++ b/ggml/src/ggml-metal/ggml-metal-ops.h @@ -0,0 +1,81 @@ +#pragma once + +#include "ggml-metal-device.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ggml_metal_op * ggml_metal_op_t; + +ggml_metal_op_t ggml_metal_op_init( + ggml_metal_device_t dev, + ggml_metal_cmd_buf_t cmd_buf, + struct ggml_cgraph * gf, + int idx_start, + int idx_end, + bool use_fusion, + bool use_concurrency, + bool use_capture, + int debug_graph, + int debug_fusion); + +void ggml_metal_op_free(ggml_metal_op_t ctx); + +int ggml_metal_op_encode(ggml_metal_op_t ctx, int idx); + +// +// available ops: +// + +// tokens per expert +size_t ggml_metal_op_mul_mat_id_extra_tpe(const struct ggml_tensor * op); + +// id map [n_tokens, n_expert] +size_t ggml_metal_op_mul_mat_id_extra_ids(const struct ggml_tensor * op); + +// return true if we should use the FA vector kernel for this op +bool ggml_metal_op_flash_attn_ext_use_vec(const struct ggml_tensor * op); + +size_t ggml_metal_op_flash_attn_ext_extra_tmp(const struct ggml_tensor * op); + +int ggml_metal_op_concat (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_repeat (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_acc (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_scale (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_clamp (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_unary (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_glu (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_sum_rows (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_get_rows (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_set_rows (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_soft_max (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_ssm_conv (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_ssm_scan (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_rwkv (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_cpy (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_pool_2d (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_mul_mat (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_mul_mat_id (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_add_id (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_flash_attn_ext (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_bin (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_rms_norm (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_l2_norm (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_group_norm (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_norm (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_rope (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_im2col (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_conv_transpose_1d (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_upscale (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_pad (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_pad_reflect_1d (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_arange (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_timestep_embedding(ggml_metal_op_t ctx, int idx); +int ggml_metal_op_argmax (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_argsort (ggml_metal_op_t ctx, int idx); +int ggml_metal_op_leaky_relu (ggml_metal_op_t ctx, int idx); + +#ifdef __cplusplus +} +#endif diff --git a/ggml/src/ggml-metal/ggml-metal.cpp b/ggml/src/ggml-metal/ggml-metal.cpp new file mode 100644 index 0000000000..fd0e6ed6e4 --- /dev/null +++ b/ggml/src/ggml-metal/ggml-metal.cpp @@ -0,0 +1,718 @@ +#include "ggml-metal.h" + +#include "ggml-impl.h" +#include "ggml-backend-impl.h" + +#include "ggml-metal-device.h" +#include "ggml-metal-context.h" +#include "ggml-metal-ops.h" + +// globals + +// initialized in ggml_backend_metal_reg +static ggml_backend_reg g_ggml_metal_reg; +static ggml_backend_device g_ggml_metal_device; + +//////////////////////////////////////////////////////////////////////////////// +// backend interface +//////////////////////////////////////////////////////////////////////////////// + +// shared buffer + +static void ggml_backend_metal_buffer_shared_free_buffer(ggml_backend_buffer_t buffer) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(ggml_metal_buffer_is_shared(ctx)); + + ggml_metal_buffer_free(ctx); +} + +static void * ggml_backend_metal_buffer_shared_get_base(ggml_backend_buffer_t buffer) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(ggml_metal_buffer_is_shared(ctx)); + + return ggml_metal_buffer_get_base(ctx); +} + +static void ggml_backend_metal_buffer_shared_memset_tensor(ggml_backend_buffer_t buffer, ggml_tensor * tensor, uint8_t value, size_t offset, size_t size) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(ggml_metal_buffer_is_shared(ctx)); + + ggml_metal_buffer_memset_tensor(ctx, tensor, value, offset, size); +} + +static void ggml_backend_metal_buffer_shared_set_tensor(ggml_backend_buffer_t buffer, ggml_tensor * tensor, const void * data, size_t offset, size_t size) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(ggml_metal_buffer_is_shared(ctx)); + + ggml_metal_buffer_set_tensor(ctx, tensor, data, offset, size); +} + +static void ggml_backend_metal_buffer_shared_get_tensor(ggml_backend_buffer_t buffer, const ggml_tensor * tensor, void * data, size_t offset, size_t size) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(ggml_metal_buffer_is_shared(ctx)); + + ggml_metal_buffer_get_tensor(ctx, tensor, data, offset, size); +} + +static bool ggml_backend_metal_buffer_shared_cpy_tensor(ggml_backend_buffer_t buffer, const ggml_tensor * src, ggml_tensor * dst) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(ggml_metal_buffer_is_shared(ctx)); + + GGML_UNUSED(buffer); + GGML_UNUSED(src); + GGML_UNUSED(dst); + + return false; +} + +static void ggml_backend_metal_buffer_shared_clear(ggml_backend_buffer_t buffer, uint8_t value) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(ggml_metal_buffer_is_shared(ctx)); + + ggml_metal_buffer_clear(ctx, value); +} + +static ggml_backend_buffer_i ggml_backend_metal_buffer_shared_i = { + /* .free_buffer = */ ggml_backend_metal_buffer_shared_free_buffer, + /* .get_base = */ ggml_backend_metal_buffer_shared_get_base, + /* .init_tensor = */ NULL, + /* .memset_tensor = */ ggml_backend_metal_buffer_shared_memset_tensor, + /* .set_tensor = */ ggml_backend_metal_buffer_shared_set_tensor, + /* .get_tensor = */ ggml_backend_metal_buffer_shared_get_tensor, + /* .cpy_tensor = */ ggml_backend_metal_buffer_shared_cpy_tensor, + /* .clear = */ ggml_backend_metal_buffer_shared_clear, + /* .reset = */ NULL, +}; + +// private buffer + +static void ggml_backend_metal_buffer_private_free_buffer(ggml_backend_buffer_t buffer) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(!ggml_metal_buffer_is_shared(ctx)); + + ggml_metal_buffer_free(ctx); +} + +static void * ggml_backend_metal_buffer_private_get_base(ggml_backend_buffer_t buffer) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(!ggml_metal_buffer_is_shared(ctx)); + + return ggml_metal_buffer_get_base(ctx); +} + +static void ggml_backend_metal_buffer_private_memset_tensor(ggml_backend_buffer_t buffer, ggml_tensor * tensor, uint8_t value, size_t offset, size_t size) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(!ggml_metal_buffer_is_shared(ctx)); + + ggml_metal_buffer_memset_tensor(ctx, tensor, value, offset, size); +} + +static void ggml_backend_metal_buffer_private_set_tensor(ggml_backend_buffer_t buffer, ggml_tensor * tensor, const void * data, size_t offset, size_t size) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(!ggml_metal_buffer_is_shared(ctx)); + + ggml_metal_buffer_set_tensor(ctx, tensor, data, offset, size); +} + +static void ggml_backend_metal_buffer_private_get_tensor(ggml_backend_buffer_t buffer, const ggml_tensor * tensor, void * data, size_t offset, size_t size) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(!ggml_metal_buffer_is_shared(ctx)); + + ggml_metal_buffer_get_tensor(ctx, tensor, data, offset, size); +} + +static bool ggml_backend_metal_buffer_private_cpy_tensor(ggml_backend_buffer_t buffer, const ggml_tensor * src, ggml_tensor * dst) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(!ggml_metal_buffer_is_shared(ctx)); + + GGML_UNUSED(buffer); + GGML_UNUSED(src); + GGML_UNUSED(dst); + + return false; +} + +static void ggml_backend_metal_buffer_private_clear(ggml_backend_buffer_t buffer, uint8_t value) { + ggml_metal_buffer_t ctx = (ggml_metal_buffer_t)buffer->context; + + GGML_ASSERT(!ggml_metal_buffer_is_shared(ctx)); + + ggml_metal_buffer_clear(ctx, value); +} + +static ggml_backend_buffer_i ggml_backend_metal_buffer_private_i = { + /* .free_buffer = */ ggml_backend_metal_buffer_private_free_buffer, + /* .get_base = */ ggml_backend_metal_buffer_private_get_base, + /* .init_tensor = */ NULL, + /* .memset_tensor = */ ggml_backend_metal_buffer_private_memset_tensor, + /* .set_tensor = */ ggml_backend_metal_buffer_private_set_tensor, + /* .get_tensor = */ ggml_backend_metal_buffer_private_get_tensor, + /* .cpy_tensor = */ ggml_backend_metal_buffer_private_cpy_tensor, + /* .clear = */ ggml_backend_metal_buffer_private_clear, + /* .reset = */ NULL, +}; + +// +// buffer types +// + +// common method for allocating shread or private Metal buffers +static ggml_backend_buffer_t ggml_backend_metal_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size, bool shared) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)buft->device->context; + ggml_metal_buffer_t res = ggml_metal_buffer_init(ctx_dev, size, shared); + + ggml_backend_buffer_i buf_i = ggml_metal_buffer_is_shared(res) + ? ggml_backend_metal_buffer_shared_i + : ggml_backend_metal_buffer_private_i; + + return ggml_backend_buffer_init(buft, buf_i, res, size); +} + +static size_t ggml_backend_metal_buffer_type_get_alloc_size(ggml_backend_buffer_type_t buft, const ggml_tensor * tensor) { + size_t res = ggml_nbytes(tensor); + + // some operations require additional memory for fleeting data: + switch (tensor->op) { + case GGML_OP_MUL_MAT_ID: + { + res += ggml_metal_op_mul_mat_id_extra_tpe(tensor); + res += ggml_metal_op_mul_mat_id_extra_ids(tensor); + } break; + case GGML_OP_FLASH_ATTN_EXT: + { + if (ggml_metal_op_flash_attn_ext_use_vec(tensor)) { + res += ggml_metal_op_flash_attn_ext_extra_tmp(tensor); + } + } break; + default: + break; + } + + return res; + + GGML_UNUSED(buft); +} + +// default (shared) buffer type + +static const char * ggml_backend_metal_buffer_type_shared_get_name(ggml_backend_buffer_type_t buft) { + return "Metal"; + + GGML_UNUSED(buft); +} + +static ggml_backend_buffer_t ggml_backend_metal_buffer_type_shared_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { + return ggml_backend_metal_buffer_type_alloc_buffer(buft, size, true); +} + +static size_t ggml_backend_metal_buffer_type_shared_get_alignment(ggml_backend_buffer_type_t buft) { + return 32; + + GGML_UNUSED(buft); +} + +static size_t ggml_backend_metal_buffer_type_shared_get_max_size(ggml_backend_buffer_type_t buft) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)buft->device->context; + + return ggml_metal_device_get_props(ctx_dev)->max_buffer_size; +} + +static size_t ggml_backend_metal_buffer_type_shared_get_alloc_size(ggml_backend_buffer_type_t buft, const ggml_tensor * tensor) { + return ggml_backend_metal_buffer_type_get_alloc_size(buft, tensor); +} + +static bool ggml_backend_metal_buffer_type_shared_is_host(ggml_backend_buffer_type_t buft) { + return false; + + GGML_UNUSED(buft); +} + +static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_shared(void) { + static ggml_backend_buffer_type ggml_backend_buffer_type_metal = { + /* .iface = */ { + /* .get_name = */ ggml_backend_metal_buffer_type_shared_get_name, + /* .alloc_buffer = */ ggml_backend_metal_buffer_type_shared_alloc_buffer, + /* .get_alignment = */ ggml_backend_metal_buffer_type_shared_get_alignment, + /* .get_max_size = */ ggml_backend_metal_buffer_type_shared_get_max_size, + /* .get_alloc_size = */ ggml_backend_metal_buffer_type_shared_get_alloc_size, + /* .is_host = */ ggml_backend_metal_buffer_type_shared_is_host, + }, + /* .device = */ &g_ggml_metal_device, + /* .context = */ NULL, + }; + + return &ggml_backend_buffer_type_metal; +} + +// default (private) buffer type + +static const char * ggml_backend_metal_buffer_type_private_get_name(ggml_backend_buffer_type_t buft) { + return "Metal_Private"; + + GGML_UNUSED(buft); +} + +static ggml_backend_buffer_t ggml_backend_metal_buffer_type_private_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { + return ggml_backend_metal_buffer_type_alloc_buffer(buft, size, false); +} + +static size_t ggml_backend_metal_buffer_type_private_get_alignment(ggml_backend_buffer_type_t buft) { + return 32; + + GGML_UNUSED(buft); +} + +static size_t ggml_backend_metal_buffer_type_private_get_max_size(ggml_backend_buffer_type_t buft) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)buft->device->context; + + return ggml_metal_device_get_props(ctx_dev)->max_buffer_size; +} + +static size_t ggml_backend_metal_buffer_type_private_get_alloc_size(ggml_backend_buffer_type_t buft, const ggml_tensor * tensor) { + return ggml_backend_metal_buffer_type_get_alloc_size(buft, tensor); +} + +static bool ggml_backend_metal_buffer_type_private_is_host(ggml_backend_buffer_type_t buft) { + return false; + + GGML_UNUSED(buft); +} + +static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_private(void) { + static ggml_backend_buffer_type ggml_backend_buffer_type_metal = { + /* .iface = */ { + /* .get_name = */ ggml_backend_metal_buffer_type_private_get_name, + /* .alloc_buffer = */ ggml_backend_metal_buffer_type_private_alloc_buffer, + /* .get_alignment = */ ggml_backend_metal_buffer_type_private_get_alignment, + /* .get_max_size = */ ggml_backend_metal_buffer_type_private_get_max_size, + /* .get_alloc_size = */ ggml_backend_metal_buffer_type_private_get_alloc_size, + /* .is_host = */ ggml_backend_metal_buffer_type_private_is_host, + }, + /* .device = */ &g_ggml_metal_device, + /* .context = */ NULL, + }; + + return &ggml_backend_buffer_type_metal; +} + +// mapped buffer type + +static const char * ggml_backend_metal_buffer_type_mapped_get_name(ggml_backend_buffer_type_t buft) { + return "Metal_Mapped"; + + GGML_UNUSED(buft); +} + +static ggml_backend_buffer_t ggml_backend_metal_buffer_type_mapped_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { + // for mapped buffers, prefer shared memory + return ggml_backend_metal_buffer_type_alloc_buffer(buft, size, true); +} + +static size_t ggml_backend_metal_buffer_type_mapped_get_alignment(ggml_backend_buffer_type_t buft) { + return 32; + + GGML_UNUSED(buft); +} + +static size_t ggml_backend_metal_buffer_type_mapped_get_max_size(ggml_backend_buffer_type_t buft) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)buft->device->context; + + return ggml_metal_device_get_props(ctx_dev)->max_buffer_size; +} + +static size_t ggml_backend_metal_buffer_type_mapped_get_alloc_size(ggml_backend_buffer_type_t buft, const ggml_tensor * tensor) { + return ggml_backend_metal_buffer_type_get_alloc_size(buft, tensor); +} + +static bool ggml_backend_metal_buffer_type_mapped_is_host(ggml_backend_buffer_type_t buft) { + return false; + + GGML_UNUSED(buft); +} + +static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_mapped(void) { + // note: not obvious, but this buffer type still needs to implement .alloc_buffer: + // https://github.com/ggml-org/llama.cpp/pull/15832#discussion_r2333177099 + static ggml_backend_buffer_type ggml_backend_buffer_type_mapped_metal = { + /* .iface = */ { + /* .get_name = */ ggml_backend_metal_buffer_type_mapped_get_name, + /* .alloc_buffer = */ ggml_backend_metal_buffer_type_mapped_alloc_buffer, + /* .get_alignment = */ ggml_backend_metal_buffer_type_mapped_get_alignment, + /* .get_max_size = */ ggml_backend_metal_buffer_type_mapped_get_max_size, + /* .get_alloc_size = */ ggml_backend_metal_buffer_type_mapped_get_alloc_size, + /* .is_host = */ ggml_backend_metal_buffer_type_mapped_is_host, + }, + /* .device = */ &g_ggml_metal_device, + /* .context = */ NULL, + }; + + return &ggml_backend_buffer_type_mapped_metal; +} + +// backend + +static const char * ggml_backend_metal_name(ggml_backend_t backend) { + return "Metal"; + + GGML_UNUSED(backend); +} + +static void ggml_backend_metal_free(ggml_backend_t backend) { + ggml_metal_t ctx = (ggml_metal_t)backend->context; + + // wait for any ongoing async operations to finish + ggml_metal_synchronize(ctx); + + ggml_metal_free(ctx); + + free(backend); +} + +static void ggml_backend_metal_synchronize(ggml_backend_t backend) { + ggml_metal_t ctx = (ggml_metal_t)backend->context; + + ggml_metal_synchronize(ctx); +} + +static void ggml_backend_metal_set_tensor_async(ggml_backend_t backend, ggml_tensor * tensor, const void * data, size_t offset, size_t size) { + ggml_metal_t ctx = (ggml_metal_t)backend->context; + + ggml_metal_set_tensor_async(ctx, tensor, data, offset, size); +} + +static void ggml_backend_metal_get_tensor_async(ggml_backend_t backend, const ggml_tensor * tensor, void * data, size_t offset, size_t size) { + ggml_metal_t ctx = (ggml_metal_t)backend->context; + + ggml_metal_get_tensor_async(ctx, tensor, data, offset, size); +} + +static bool ggml_backend_metal_cpy_tensor_async(ggml_backend_t backend_src, ggml_backend_t backend_dst, const ggml_tensor * src, ggml_tensor * dst) { + return false; + + GGML_UNUSED(backend_src); + GGML_UNUSED(backend_dst); + GGML_UNUSED(src); + GGML_UNUSED(dst); +} + +static enum ggml_status ggml_backend_metal_graph_compute(ggml_backend_t backend, ggml_cgraph * cgraph) { + ggml_metal_t ctx = (ggml_metal_t)backend->context; + + return ggml_metal_graph_compute(ctx, cgraph); +} + +static void ggml_backend_metal_graph_optimize(ggml_backend_t backend, ggml_cgraph * cgraph) { + ggml_metal_t ctx = (ggml_metal_t)backend->context; + + ggml_metal_graph_optimize(ctx, cgraph); +} + +static void ggml_backend_metal_set_n_cb(ggml_backend_t backend, int n_cb) { + GGML_ASSERT(ggml_backend_is_metal(backend)); + + ggml_metal_t ctx = (ggml_metal_t)backend->context; + + ggml_metal_set_n_cb(ctx, n_cb); + +} + +static ggml_backend_i ggml_backend_metal_i = { + /* .get_name = */ ggml_backend_metal_name, + /* .free = */ ggml_backend_metal_free, + /* .set_tensor_async = */ ggml_backend_metal_set_tensor_async, + /* .get_tensor_async = */ ggml_backend_metal_get_tensor_async, + /* .cpy_tensor_async = */ ggml_backend_metal_cpy_tensor_async, // only needed for multi-GPU setups + /* .synchronize = */ ggml_backend_metal_synchronize, + /* .graph_plan_create = */ NULL, + /* .graph_plan_free = */ NULL, + /* .graph_plan_update = */ NULL, + /* .graph_plan_compute = */ NULL, + /* .graph_compute = */ ggml_backend_metal_graph_compute, + + // the events API is needed only for multi-GPU setups, so likely no need to implement it for Metal + // in any case, these docs seem relevant if we ever decide to implement it: + // https://developer.apple.com/documentation/metal/mtlcommandbuffer#Synchronizing-Passes-with-Events + /* .event_record = */ NULL, + /* .event_wait = */ NULL, + /* .optimize_graph = */ ggml_backend_metal_graph_optimize, +}; + +static ggml_guid_t ggml_backend_metal_guid(void) { + static ggml_guid guid = { 0x81, 0xa1, 0x8b, 0x1e, 0x71, 0xec, 0x79, 0xed, 0x2b, 0x85, 0xdc, 0x8a, 0x61, 0x98, 0x30, 0xe6 }; + return &guid; +} + +ggml_backend_t ggml_backend_metal_init(void) { + ggml_backend_dev_t dev = ggml_backend_reg_dev_get(ggml_backend_metal_reg(), 0); + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + ggml_metal_t ctx = ggml_metal_init(ctx_dev); + if (ctx == NULL) { + GGML_LOG_ERROR("%s: error: failed to allocate context\n", __func__); + return NULL; + } + + ggml_backend_t backend = (ggml_backend_t) malloc(sizeof(ggml_backend)); + + *backend = { + /* .guid = */ ggml_backend_metal_guid(), + /* .interface = */ ggml_backend_metal_i, + /* .device = */ dev, + /* .context = */ ctx, + }; + + ggml_backend_metal_set_n_cb(backend, 1); + + return backend; +} + +bool ggml_backend_is_metal(ggml_backend_t backend) { + return backend != NULL && ggml_guid_matches(backend->guid, ggml_backend_metal_guid()); +} + +void ggml_backend_metal_set_abort_callback(ggml_backend_t backend, ggml_abort_callback abort_callback, void * user_data) { + GGML_ASSERT(ggml_backend_is_metal(backend)); + + ggml_metal_t ctx = (ggml_metal_t)backend->context; + + ggml_metal_set_abort_callback(ctx, abort_callback, user_data); +} + +bool ggml_backend_metal_supports_family(ggml_backend_t backend, int family) { + GGML_ASSERT(ggml_backend_is_metal(backend)); + + ggml_metal_t ctx = (ggml_metal_t)backend->context; + + return ggml_metal_supports_family(ctx, family); +} + +void ggml_backend_metal_capture_next_compute(ggml_backend_t backend) { + GGML_ASSERT(ggml_backend_is_metal(backend)); + + ggml_metal_t ctx = (ggml_metal_t)backend->context; + + ggml_metal_capture_next_compute(ctx); +} + +// backend device + +static const char * ggml_backend_metal_device_get_name(ggml_backend_dev_t dev) { + return "Metal"; + + GGML_UNUSED(dev); +} + +static const char * ggml_backend_metal_device_get_description(ggml_backend_dev_t dev) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + return ggml_metal_device_get_props(ctx_dev)->name; +} + +static void ggml_backend_metal_device_get_memory(ggml_backend_dev_t dev, size_t * free, size_t * total) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + ggml_metal_device_get_memory(ctx_dev, free, total); +} + +static enum ggml_backend_dev_type ggml_backend_metal_device_get_type(ggml_backend_dev_t dev) { + return GGML_BACKEND_DEVICE_TYPE_GPU; + + GGML_UNUSED(dev); +} + +static void ggml_backend_metal_device_get_props(ggml_backend_dev_t dev, ggml_backend_dev_props * props) { + props->name = ggml_backend_metal_device_get_name(dev); + props->description = ggml_backend_metal_device_get_description(dev); + props->type = ggml_backend_metal_device_get_type(dev); + + ggml_backend_metal_device_get_memory(dev, &props->memory_free, &props->memory_total); + + props->caps = { + /* .async = */ true, + /* .host_buffer = */ false, + /* .buffer_from_host_ptr = */ true, + /* .events = */ false, + }; +} + +static ggml_backend_t ggml_backend_metal_device_init(ggml_backend_dev_t dev, const char * params) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + ggml_metal_t ctx = ggml_metal_init(ctx_dev); + if (ctx == NULL) { + GGML_LOG_ERROR("%s: error: failed to allocate context\n", __func__); + return NULL; + } + + ggml_backend_t backend = (ggml_backend_t) malloc(sizeof(ggml_backend)); + + *backend = { + /* .guid = */ ggml_backend_metal_guid(), + /* .interface = */ ggml_backend_metal_i, + /* .device = */ dev, + /* .context = */ ctx, + }; + + ggml_backend_metal_set_n_cb(backend, 1); + + return backend; + + GGML_UNUSED(params); +} + +static ggml_backend_buffer_type_t ggml_backend_metal_device_get_buffer_type(ggml_backend_dev_t dev) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + const ggml_metal_device_props * props_dev = ggml_metal_device_get_props(ctx_dev); + + return props_dev->use_shared_buffers ? ggml_backend_metal_buffer_type_shared() : ggml_backend_metal_buffer_type_private(); +} + +static ggml_backend_buffer_t ggml_backend_metal_device_buffer_mapped(ggml_backend_dev_t dev, void * ptr, size_t size, size_t max_tensor_size) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + ggml_metal_buffer_t res = ggml_metal_buffer_map(ctx_dev, ptr, size, max_tensor_size); + + return ggml_backend_buffer_init(ggml_backend_metal_buffer_type_mapped(), ggml_backend_metal_buffer_shared_i, res, size); +} + +static bool ggml_backend_metal_device_supports_op(ggml_backend_dev_t dev, const ggml_tensor * op) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + return ggml_metal_device_supports_op(ctx_dev, op); +} + +static bool ggml_backend_metal_device_supports_buft(ggml_backend_dev_t dev, ggml_backend_buffer_type_t buft) { + return + buft->iface.get_name == ggml_backend_metal_buffer_type_shared_get_name || + buft->iface.get_name == ggml_backend_metal_buffer_type_private_get_name || + buft->iface.get_name == ggml_backend_metal_buffer_type_mapped_get_name; + + GGML_UNUSED(dev); +} + +static int64_t get_op_batch_size(const ggml_tensor * op) { + switch (op->op) { + case GGML_OP_MUL_MAT: + return op->ne[1]; + case GGML_OP_MUL_MAT_ID: + return op->ne[2]; + default: + return ggml_nrows(op); + } +} + +static bool ggml_backend_metal_device_offload_op(ggml_backend_dev_t dev, const ggml_tensor * op) { + const int min_batch_size = 32; + + return (op->op == GGML_OP_MUL_MAT || + op->op == GGML_OP_MUL_MAT_ID) && + get_op_batch_size(op) >= min_batch_size; + + GGML_UNUSED(dev); + GGML_UNUSED(op); +} + +static ggml_backend_device_i ggml_backend_metal_device_i = { + /* .get_name = */ ggml_backend_metal_device_get_name, + /* .get_description = */ ggml_backend_metal_device_get_description, + /* .get_memory = */ ggml_backend_metal_device_get_memory, + /* .get_type = */ ggml_backend_metal_device_get_type, + /* .get_props = */ ggml_backend_metal_device_get_props, + /* .init_backend = */ ggml_backend_metal_device_init, + /* .get_buffer_type = */ ggml_backend_metal_device_get_buffer_type, + /* .get_host_buffer_type = */ NULL, + /* .buffer_from_host_ptr = */ ggml_backend_metal_device_buffer_mapped, + /* .supports_op = */ ggml_backend_metal_device_supports_op, + /* .supports_buft = */ ggml_backend_metal_device_supports_buft, + /* .offload_op = */ ggml_backend_metal_device_offload_op, + /* .event_new = */ NULL, + /* .event_free = */ NULL, + /* .event_synchronize = */ NULL, +}; + +// backend registry + +static const char * ggml_backend_metal_reg_get_name(ggml_backend_reg_t reg) { + return "Metal"; + + GGML_UNUSED(reg); +} + +static size_t ggml_backend_metal_reg_device_count(ggml_backend_reg_t reg) { + return 1; + + GGML_UNUSED(reg); +} + +static ggml_backend_dev_t ggml_backend_metal_reg_device_get(ggml_backend_reg_t reg, size_t index) { + GGML_ASSERT(index == 0); + + return &g_ggml_metal_device; + + GGML_UNUSED(reg); + GGML_UNUSED(index); +} + +static ggml_backend_feature g_ggml_backend_metal_features[] = { +#if defined(GGML_METAL_EMBED_LIBRARY) + { "EMBED_LIBRARY", "1" }, +#endif + { NULL, NULL }, +}; + +static ggml_backend_feature * ggml_backend_metal_get_features(ggml_backend_reg_t reg) { + return g_ggml_backend_metal_features; + + GGML_UNUSED(reg); +} + +static void * ggml_backend_metal_get_proc_address(ggml_backend_reg_t reg, const char * name) { + if (strcmp(name, "ggml_backend_get_features") == 0) { + return (void *)ggml_backend_metal_get_features; + } + + return NULL; + + GGML_UNUSED(reg); +} + +static ggml_backend_reg_i ggml_backend_metal_reg_i = { + /* .get_name = */ ggml_backend_metal_reg_get_name, + /* .device_count = */ ggml_backend_metal_reg_device_count, + /* .device_get = */ ggml_backend_metal_reg_device_get, + /* .get_proc_address = */ ggml_backend_metal_get_proc_address, +}; + +ggml_backend_reg_t ggml_backend_metal_reg(void) { + { + g_ggml_metal_reg = { + /* .api_version = */ GGML_BACKEND_API_VERSION, + /* .iface = */ ggml_backend_metal_reg_i, + /* .context = */ NULL, + }; + + g_ggml_metal_device = { + /* .iface = */ ggml_backend_metal_device_i, + /* .reg = */ &g_ggml_metal_reg, + /* .context = */ ggml_metal_device_get(), + }; + } + + return &g_ggml_metal_reg; +} + +GGML_BACKEND_DL_IMPL(ggml_backend_metal_reg) diff --git a/ggml/src/ggml-metal/ggml-metal.m b/ggml/src/ggml-metal/ggml-metal.m deleted file mode 100644 index 2243c174fb..0000000000 --- a/ggml/src/ggml-metal/ggml-metal.m +++ /dev/null @@ -1,6897 +0,0 @@ -#import "ggml-metal.h" - -#import "ggml-impl.h" -#import "ggml-backend-impl.h" -#import "ggml-metal-impl.h" -#import "ggml-metal-common.h" - -#import - -#import - -#undef MIN -#undef MAX -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -#define MAX(a, b) ((a) > (b) ? (a) : (b)) - -// max memory buffers that can be mapped to the device -#define GGML_METAL_MAX_BUFFERS 64 - -// max number of MTLCommandBuffer used to submit a graph for processing -#define GGML_METAL_MAX_COMMAND_BUFFERS 8 - -#ifndef TARGET_OS_VISION -#define TARGET_OS_VISION 0 -#endif - -// create residency sets only on macOS >= 15.0 -#if !TARGET_CPU_X86_64 && TARGET_OS_OSX && __MAC_OS_X_VERSION_MAX_ALLOWED >= 150000 || \ - TARGET_OS_IOS && __IPHONE_OS_VERSION_MAX_ALLOWED >= 180000 || \ - TARGET_OS_TV && __TV_OS_VERSION_MAX_ALLOWED >= 180000 || \ - TARGET_OS_VISION && __VISION_OS_VERSION_MAX_ALLOWED >= 200000 -#define GGML_METAL_HAS_RESIDENCY_SETS 1 -#endif - -// globals - -// overload of MTLGPUFamilyMetal3 (not available in some environments) -static const NSInteger MTLGPUFamilyMetal3_GGML = 5001; - -// initialized in ggml_backend_metal_reg -static struct ggml_backend_reg g_ggml_backend_metal_reg; -static struct ggml_backend_device g_ggml_backend_metal_device; - -// information about a Metal device -// note: assumes single GPU device - the default one -// TODO: support multiple GPU devices -static struct ggml_backend_metal_device_context { - id mtl_device; - int mtl_device_ref_count; - id mtl_library; - - // a single global queue shared by all Metal backends - // technically not needed for devices with unified memory, but enables discrete GPUs support - // ref: https://github.com/ggml-org/llama.cpp/pull/15906 - id mtl_queue; - - NSLock * mtl_lock; - - bool has_simdgroup_reduction; - bool has_simdgroup_mm; - bool has_residency_sets; - bool has_bfloat; - bool use_bfloat; - bool use_fusion; - bool use_concurrency; - bool use_shared_buffers; - bool use_graph_optimize; - - int debug_graph; - int debug_fusion; - - // how many times a given op was fused - uint64_t fuse_cnt[GGML_OP_COUNT]; - - size_t max_size; - - char name[128]; -} g_ggml_ctx_dev_main = { - /*.mtl_device =*/ nil, - /*.mtl_device_ref_count =*/ 0, - /*.mtl_library =*/ nil, - /*.mtl_queue =*/ nil, - /*.mtl_lock =*/ nil, - /*.has_simdgroup_reduction =*/ false, - /*.has_simdgroup_mm =*/ false, - /*.has_residency_sets =*/ false, - /*.has_bfloat =*/ false, - /*.use_bfloat =*/ false, - /*.use_fusion =*/ true, - /*.use_concurrency =*/ true, - /*.use_shared_buffers =*/ true, - /*.use_graph_optimize =*/ true, - /*.debug_graph =*/ 0, - /*.debug_fusion =*/ 0, - /*.fuse_cnt =*/ { 0 }, - /*.max_size =*/ 0, - /*.name =*/ "", -}; - -// acquire -static id ggml_backend_metal_device_acq(struct ggml_backend_metal_device_context * ctx) { - assert(ctx != NULL); - - if (ctx->mtl_lock == nil) { - ctx->mtl_lock = [[NSLock alloc] init]; - } - - if (ctx->mtl_device == nil) { - ctx->mtl_device = MTLCreateSystemDefaultDevice(); - - if (ctx->mtl_device) { - ctx->mtl_queue = [ctx->mtl_device newCommandQueue]; - if (ctx->mtl_queue == nil) { - GGML_LOG_ERROR("%s: error: failed to create command queue\n", __func__); - } - - ctx->has_simdgroup_reduction = [ctx->mtl_device supportsFamily:MTLGPUFamilyApple7]; - ctx->has_simdgroup_reduction |= [ctx->mtl_device supportsFamily:MTLGPUFamilyMetal3_GGML]; - - ctx->has_simdgroup_mm = [ctx->mtl_device supportsFamily:MTLGPUFamilyApple7]; - -#if defined(GGML_METAL_HAS_RESIDENCY_SETS) - ctx->has_residency_sets = getenv("GGML_METAL_NO_RESIDENCY") == nil; -#endif - - ctx->has_bfloat = [ctx->mtl_device supportsFamily:MTLGPUFamilyMetal3_GGML]; - ctx->has_bfloat |= [ctx->mtl_device supportsFamily:MTLGPUFamilyApple6]; - -#if defined(GGML_METAL_USE_BF16) - ctx->use_bfloat = ctx->has_bfloat; -#else - ctx->use_bfloat = false; -#endif - - ctx->use_fusion = getenv("GGML_METAL_FUSION_DISABLE") == nil; - ctx->use_concurrency = getenv("GGML_METAL_CONCURRENCY_DISABLE") == nil; - - { - const char * val = getenv("GGML_METAL_GRAPH_DEBUG"); - ctx->debug_graph = val ? atoi(val) : 0; - } - - { - const char * val = getenv("GGML_METAL_FUSION_DEBUG"); - ctx->debug_fusion = val ? atoi(val) : 0; - } - - ctx->use_shared_buffers = ctx->mtl_device.hasUnifiedMemory; - - if (getenv("GGML_METAL_SHARED_BUFFERS_DISABLE") != NULL) { - ctx->use_shared_buffers = false; - } - - ctx->use_graph_optimize = true; - - if (getenv("GGML_METAL_GRAPH_OPTIMIZE_DISABLE") != NULL) { - ctx->use_graph_optimize = false; - } - - memset(ctx->fuse_cnt, 0, sizeof(ctx->fuse_cnt)); - - ctx->max_size = ctx->mtl_device.maxBufferLength; - - strncpy(ctx->name, [[ctx->mtl_device name] UTF8String], sizeof(ctx->name) - 1); - } - } - - ctx->mtl_device_ref_count++; - - return ctx->mtl_device; -} - -// release -static void ggml_backend_metal_device_rel(struct ggml_backend_metal_device_context * ctx) { - assert(ctx != NULL); - assert(ctx->mtl_device_ref_count > 0); - - ctx->mtl_device_ref_count--; - - if (ctx->mtl_device_ref_count == 0) { - if (ctx->debug_fusion > 0) { - fprintf(stderr, "%s: fusion stats:\n", __func__); - for (int i = 0; i < GGML_OP_COUNT; i++) { - if (ctx->fuse_cnt[i] == 0) { - continue; - } - - // note: cannot use ggml_log here - fprintf(stderr, "%s: - %s: %" PRIu64 "\n", __func__, ggml_op_name((enum ggml_op) i), ctx->fuse_cnt[i]); - } - } - - if (ctx->mtl_lock) { - [ctx->mtl_lock release]; - ctx->mtl_lock = nil; - } - - if (ctx->mtl_library) { - [ctx->mtl_library release]; - ctx->mtl_library = nil; - } - - if (ctx->mtl_queue) { - [ctx->mtl_queue release]; - ctx->mtl_queue = nil; - } - - if (ctx->mtl_device) { - [ctx->mtl_device release]; - ctx->mtl_device = nil; - } - } -} - -// kernels - -struct ggml_metal_kernel { - id pipeline; -}; - -@interface ggml_metal_kernel_wrapper : NSObject - -@property (nonatomic, assign) struct ggml_metal_kernel kernel; - -@end - -@implementation ggml_metal_kernel_wrapper -- (void) dealloc { - [_kernel.pipeline release]; - [super dealloc]; -} -@end - -enum ggml_metal_kernel_type { - GGML_METAL_KERNEL_TYPE_ADD_ID, - GGML_METAL_KERNEL_TYPE_REPEAT_F32, - GGML_METAL_KERNEL_TYPE_REPEAT_F16, - GGML_METAL_KERNEL_TYPE_REPEAT_I32, - GGML_METAL_KERNEL_TYPE_REPEAT_I16, - GGML_METAL_KERNEL_TYPE_SCALE, - GGML_METAL_KERNEL_TYPE_SCALE_4, - GGML_METAL_KERNEL_TYPE_CLAMP, - GGML_METAL_KERNEL_TYPE_TANH, - GGML_METAL_KERNEL_TYPE_RELU, - GGML_METAL_KERNEL_TYPE_SIGMOID, - GGML_METAL_KERNEL_TYPE_GELU, - GGML_METAL_KERNEL_TYPE_GELU_4, - GGML_METAL_KERNEL_TYPE_GELU_ERF, - GGML_METAL_KERNEL_TYPE_GELU_ERF_4, - GGML_METAL_KERNEL_TYPE_GELU_QUICK, - GGML_METAL_KERNEL_TYPE_GELU_QUICK_4, - GGML_METAL_KERNEL_TYPE_SILU, - GGML_METAL_KERNEL_TYPE_SILU_4, - GGML_METAL_KERNEL_TYPE_ELU, - GGML_METAL_KERNEL_TYPE_ABS, - GGML_METAL_KERNEL_TYPE_SGN, - GGML_METAL_KERNEL_TYPE_STEP, - GGML_METAL_KERNEL_TYPE_HARDSWISH, - GGML_METAL_KERNEL_TYPE_HARDSIGMOID, - GGML_METAL_KERNEL_TYPE_EXP, - GGML_METAL_KERNEL_TYPE_SOFT_MAX_F16, - GGML_METAL_KERNEL_TYPE_SOFT_MAX_F16_4, - GGML_METAL_KERNEL_TYPE_SOFT_MAX_F32, - GGML_METAL_KERNEL_TYPE_SOFT_MAX_F32_4, - GGML_METAL_KERNEL_TYPE_DIAG_MASK_INF, - GGML_METAL_KERNEL_TYPE_DIAG_MASK_INF_8, - GGML_METAL_KERNEL_TYPE_GET_ROWS_F32, - GGML_METAL_KERNEL_TYPE_GET_ROWS_F16, - GGML_METAL_KERNEL_TYPE_GET_ROWS_BF16, - GGML_METAL_KERNEL_TYPE_GET_ROWS_Q4_0, - GGML_METAL_KERNEL_TYPE_GET_ROWS_Q4_1, - GGML_METAL_KERNEL_TYPE_GET_ROWS_Q5_0, - GGML_METAL_KERNEL_TYPE_GET_ROWS_Q5_1, - GGML_METAL_KERNEL_TYPE_GET_ROWS_Q8_0, - GGML_METAL_KERNEL_TYPE_GET_ROWS_MXFP4, - GGML_METAL_KERNEL_TYPE_GET_ROWS_Q2_K, - GGML_METAL_KERNEL_TYPE_GET_ROWS_Q3_K, - GGML_METAL_KERNEL_TYPE_GET_ROWS_Q4_K, - GGML_METAL_KERNEL_TYPE_GET_ROWS_Q5_K, - GGML_METAL_KERNEL_TYPE_GET_ROWS_Q6_K, - GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ2_XXS, - GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ2_XS, - GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ3_XXS, - GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ3_S, - GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ2_S, - GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ1_S, - GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ1_M, - GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ4_NL, - GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ4_XS, - GGML_METAL_KERNEL_TYPE_GET_ROWS_I32, - GGML_METAL_KERNEL_TYPE_SET_ROWS_F32, - GGML_METAL_KERNEL_TYPE_SET_ROWS_F16, - GGML_METAL_KERNEL_TYPE_SET_ROWS_BF16, - GGML_METAL_KERNEL_TYPE_SET_ROWS_Q8_0, - GGML_METAL_KERNEL_TYPE_SET_ROWS_Q4_0, - GGML_METAL_KERNEL_TYPE_SET_ROWS_Q4_1, - GGML_METAL_KERNEL_TYPE_SET_ROWS_Q5_0, - GGML_METAL_KERNEL_TYPE_SET_ROWS_Q5_1, - GGML_METAL_KERNEL_TYPE_SET_ROWS_IQ4_NL, - GGML_METAL_KERNEL_TYPE_L2_NORM, - GGML_METAL_KERNEL_TYPE_GROUP_NORM, - GGML_METAL_KERNEL_TYPE_NORM, - GGML_METAL_KERNEL_TYPE_SSM_CONV_F32, - GGML_METAL_KERNEL_TYPE_SSM_SCAN_F32, - GGML_METAL_KERNEL_TYPE_SSM_SCAN_F32_GROUP, - GGML_METAL_KERNEL_TYPE_RWKV_WKV6_F32, - GGML_METAL_KERNEL_TYPE_RWKV_WKV7_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_F32_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_F32_F32_C4, - GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32_C4, - GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32_1ROW, - GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32_L4, - GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F16, - GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32_C4, - GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32_1ROW, - GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32_L4, - GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_BF16, - GGML_METAL_KERNEL_TYPE_MUL_MV_Q4_0_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_Q4_1_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_Q5_0_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_Q5_1_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_Q8_0_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_MXFP4_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_2, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_3, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_4, - GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_5, - GGML_METAL_KERNEL_TYPE_MUL_MV_Q2_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_Q3_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_Q4_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_Q5_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_Q6_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_IQ2_XXS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_IQ2_XS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_IQ3_XXS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_IQ3_S_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_IQ2_S_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_IQ1_S_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_IQ1_M_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_IQ4_NL_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_IQ4_XS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F32_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F16_F32, - //GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F16_F32_1ROW, - //GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F16_F32_L4, - //GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F16_F16, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_BF16_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q4_0_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q4_1_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q5_0_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q5_1_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q8_0_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_MXFP4_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q2_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q3_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q4_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q5_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q6_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ2_XXS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ2_XS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ3_XXS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ3_S_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ2_S_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ1_S_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ1_M_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ4_NL_F32, - GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ4_XS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_F32_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_F16_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_BF16_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_Q4_0_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_Q4_1_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_Q5_0_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_Q5_1_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_Q8_0_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_MXFP4_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_Q2_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_Q3_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_Q4_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_Q5_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_Q6_K_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_IQ2_XXS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_IQ2_XS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_IQ3_XXS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_IQ3_S_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_IQ2_S_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_IQ1_S_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_IQ1_M_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_IQ4_NL_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_IQ4_XS_F32, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_1, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_2, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_4, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_6, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_8, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_10, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_F32_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_F16_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_BF16_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q4_0_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q4_1_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q5_0_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q5_1_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q8_0_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MXFP4_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q2_K_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q3_K_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q4_K_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q5_K_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q6_K_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ2_XXS_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ2_XS_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ3_XXS_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ3_S_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ2_S_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ1_S_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ1_M_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ4_NL_F16, - GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ4_XS_F16, - GGML_METAL_KERNEL_TYPE_ROPE_NORM_F32, - GGML_METAL_KERNEL_TYPE_ROPE_NORM_F16, - GGML_METAL_KERNEL_TYPE_ROPE_MULTI_F32, - GGML_METAL_KERNEL_TYPE_ROPE_MULTI_F16, - GGML_METAL_KERNEL_TYPE_ROPE_VISION_F32, - GGML_METAL_KERNEL_TYPE_ROPE_VISION_F16, - GGML_METAL_KERNEL_TYPE_ROPE_NEOX_F32, - GGML_METAL_KERNEL_TYPE_ROPE_NEOX_F16, - GGML_METAL_KERNEL_TYPE_IM2COL_F16, - GGML_METAL_KERNEL_TYPE_IM2COL_F32, - GGML_METAL_KERNEL_TYPE_IM2COL_EXT_F16, - GGML_METAL_KERNEL_TYPE_IM2COL_EXT_F32, - GGML_METAL_KERNEL_TYPE_CONV_TRANSPOSE_1D_F32_F32, - GGML_METAL_KERNEL_TYPE_CONV_TRANSPOSE_1D_F16_F32, - GGML_METAL_KERNEL_TYPE_UPSCALE_F32, - GGML_METAL_KERNEL_TYPE_PAD_F32, - GGML_METAL_KERNEL_TYPE_PAD_REFLECT_1D_F32, - GGML_METAL_KERNEL_TYPE_ARANGE_F32, - GGML_METAL_KERNEL_TYPE_TIMESTEP_EMBEDDING_F32, - GGML_METAL_KERNEL_TYPE_ARGSORT_F32_I32_ASC, - GGML_METAL_KERNEL_TYPE_ARGSORT_F32_I32_DESC, - GGML_METAL_KERNEL_TYPE_LEAKY_RELU_F32, - GGML_METAL_KERNEL_TYPE_CPY_F32_F32, - GGML_METAL_KERNEL_TYPE_CPY_F32_F16, - GGML_METAL_KERNEL_TYPE_CPY_F32_BF16, - GGML_METAL_KERNEL_TYPE_CPY_F16_F16, - GGML_METAL_KERNEL_TYPE_CPY_F16_F32, - GGML_METAL_KERNEL_TYPE_CPY_BF16_F32, - GGML_METAL_KERNEL_TYPE_CPY_BF16_BF16, - GGML_METAL_KERNEL_TYPE_CPY_F32_I32, - GGML_METAL_KERNEL_TYPE_CPY_I32_F32, - GGML_METAL_KERNEL_TYPE_CPY_F32_Q8_0, - GGML_METAL_KERNEL_TYPE_CPY_F32_Q4_0, - GGML_METAL_KERNEL_TYPE_CPY_F32_Q4_1, - GGML_METAL_KERNEL_TYPE_CPY_F32_Q5_0, - GGML_METAL_KERNEL_TYPE_CPY_F32_Q5_1, - GGML_METAL_KERNEL_TYPE_CPY_F32_IQ4_NL, - GGML_METAL_KERNEL_TYPE_CPY_Q4_0_F32, - GGML_METAL_KERNEL_TYPE_CPY_Q4_0_F16, - GGML_METAL_KERNEL_TYPE_CPY_Q4_1_F32, - GGML_METAL_KERNEL_TYPE_CPY_Q4_1_F16, - GGML_METAL_KERNEL_TYPE_CPY_Q5_0_F32, - GGML_METAL_KERNEL_TYPE_CPY_Q5_0_F16, - GGML_METAL_KERNEL_TYPE_CPY_Q5_1_F32, - GGML_METAL_KERNEL_TYPE_CPY_Q5_1_F16, - GGML_METAL_KERNEL_TYPE_CPY_Q8_0_F32, - GGML_METAL_KERNEL_TYPE_CPY_Q8_0_F16, - GGML_METAL_KERNEL_TYPE_CONCAT, - GGML_METAL_KERNEL_TYPE_SQR, - GGML_METAL_KERNEL_TYPE_SQRT, - GGML_METAL_KERNEL_TYPE_SIN, - GGML_METAL_KERNEL_TYPE_COS, - GGML_METAL_KERNEL_TYPE_NEG, - GGML_METAL_KERNEL_TYPE_REGLU, - GGML_METAL_KERNEL_TYPE_GEGLU, - GGML_METAL_KERNEL_TYPE_SWIGLU, - GGML_METAL_KERNEL_TYPE_SWIGLU_OAI, - GGML_METAL_KERNEL_TYPE_GEGLU_ERF, - GGML_METAL_KERNEL_TYPE_GEGLU_QUICK, - GGML_METAL_KERNEL_TYPE_SUM_ROWS, - GGML_METAL_KERNEL_TYPE_MEAN, - GGML_METAL_KERNEL_TYPE_POOL_2D_AVG_F32, - GGML_METAL_KERNEL_TYPE_POOL_2D_MAX_F32, - GGML_METAL_KERNEL_TYPE_ARGMAX, - - GGML_METAL_KERNEL_TYPE_COUNT -}; - -struct ggml_metal_command_buffer { - id obj; - - // used to enable concurrent execution of ops in the command buffers - struct ggml_mem_ranges * mem_ranges; -}; - -struct ggml_backend_metal_context { - id device; - id queue; // currently a pointer to the device queue, but might become separate queue [TAG_QUEUE_PER_BACKEND] - - dispatch_queue_t d_queue; - - // the set of pre-compiled kernels for this context - struct ggml_metal_kernel kernels[GGML_METAL_KERNEL_TYPE_COUNT]; - - // additional, inference-time compiled kernels - NSMutableDictionary * kernels_ext; - - // capture state - bool capture_next_compute; - bool capture_started; - - id capture_scope; - - // command buffer state - int n_cb; // number of extra threads used to submit the command buffers - int n_nodes_0; // number of nodes submitted by the main thread - int n_nodes_1; // remaining number of nodes submitted by the n_cb threads - int n_nodes_per_cb; - - struct ggml_cgraph * gf; - - // the callback given to the thread pool - void (^encode_async)(size_t ith); - - // n_cb command buffers + 1 used by the main thread - struct ggml_metal_command_buffer cmd_bufs[GGML_METAL_MAX_COMMAND_BUFFERS + 1]; - - // extra command buffers for things like getting, setting and copying tensors - NSMutableArray * cmd_bufs_ext; - - // the last command buffer queued into the Metal queue with operations relevant to the current Metal backend - id cmd_buf_last; - - // abort ggml_metal_graph_compute if callback returns true - ggml_abort_callback abort_callback; - void * abort_callback_data; -}; - -// MSL code -// TODO: move the contents here when ready -// for now it is easier to work in a separate file -// static NSString * const msl_library_source = @"see metal.metal"; - -#if !GGML_METAL_EMBED_LIBRARY -// Here to assist with NSBundle Path Hack -@interface GGMLMetalClass : NSObject -@end -@implementation GGMLMetalClass -@end -#endif - -static void * ggml_metal_host_malloc(size_t n) { - void * data = NULL; - -#if TARGET_OS_OSX - kern_return_t err = vm_allocate((vm_map_t) mach_task_self(), (void *) &data, n, VM_FLAGS_ANYWHERE); - if (err != KERN_SUCCESS) { - GGML_LOG_ERROR("%s: error: vm_allocate failed\n", __func__); - return NULL; - } -#else - const int result = posix_memalign((void **) &data, sysconf(_SC_PAGESIZE), n); - if (result != 0) { - GGML_LOG_ERROR("%s: error: posix_memalign failed\n", __func__); - return NULL; - } -#endif - - return data; -} - -// load library -// -// - first check if the library is embedded -// - then check if the library is in the bundle -// - if not found, load the source and compile it -// - if that fails, return NULL -static id ggml_metal_load_library(id device, bool use_bfloat) { - const int64_t t_start = ggml_time_us(); - - id metal_library = nil; - NSError * error = nil; - NSString * src = nil; - -#if GGML_METAL_EMBED_LIBRARY - GGML_LOG_INFO("%s: using embedded metal library\n", __func__); - - extern const char ggml_metallib_start[]; - extern const char ggml_metallib_end[]; - - src = [[NSString alloc] initWithBytes:ggml_metallib_start length:(ggml_metallib_end-ggml_metallib_start) encoding:NSUTF8StringEncoding]; - -#else - -#ifdef SWIFT_PACKAGE - NSBundle * bundle = SWIFTPM_MODULE_BUNDLE; -#else - NSBundle * bundle = [NSBundle bundleForClass:[GGMLMetalClass class]]; -#endif - - NSString * path_lib = [bundle pathForResource:@"default" ofType:@"metallib"]; - if (path_lib == nil) { - // Try to find the resource in the directory where the current binary located. - NSString * current_binary = [[NSProcessInfo processInfo] arguments][0]; - NSString * bin_dir = [current_binary stringByDeletingLastPathComponent]; - NSString * default_metallib_path = [NSString pathWithComponents:@[bin_dir, @"default.metallib"]]; - if ([[NSFileManager defaultManager] isReadableFileAtPath:default_metallib_path]) { - GGML_LOG_INFO("%s: found '%s'\n", __func__, [default_metallib_path UTF8String]); - NSDictionary * atts = [[NSFileManager defaultManager] attributesOfItemAtPath:default_metallib_path error:&error]; - if (atts && atts[NSFileType] == NSFileTypeSymbolicLink) { - // Optionally, if this is a symlink, try to resolve it. - default_metallib_path = [[NSFileManager defaultManager] destinationOfSymbolicLinkAtPath:default_metallib_path error:&error]; - if (default_metallib_path && [default_metallib_path length] > 0 && ![[default_metallib_path substringToIndex:1] isEqualToString:@"/"]) { - // It is a relative path, adding the binary directory as directory prefix. - default_metallib_path = [NSString pathWithComponents:@[bin_dir, default_metallib_path]]; - } - if (!default_metallib_path || ![[NSFileManager defaultManager] isReadableFileAtPath:default_metallib_path]) { - // Link to the resource could not be resolved. - default_metallib_path = nil; - } else { - GGML_LOG_INFO("%s: symlink resolved '%s'\n", __func__, [default_metallib_path UTF8String]); - } - } - } else { - // The resource couldn't be found in the binary's directory. - default_metallib_path = nil; - } - path_lib = default_metallib_path; - } - - if (path_lib != nil) { - // pre-compiled library found - NSURL * libURL = [NSURL fileURLWithPath:path_lib]; - GGML_LOG_INFO("%s: loading '%s'\n", __func__, [path_lib UTF8String]); - - metal_library = [device newLibraryWithURL:libURL error:&error]; - if (error) { - GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); - return NULL; - } - } else { - GGML_LOG_INFO("%s: default.metallib not found, loading from source\n", __func__); - - NSString * path_source; - NSString * path_resource = [[NSProcessInfo processInfo].environment objectForKey:@"GGML_METAL_PATH_RESOURCES"]; - - GGML_LOG_INFO("%s: GGML_METAL_PATH_RESOURCES = %s\n", __func__, path_resource ? [path_resource UTF8String] : "nil"); - - if (path_resource) { - path_source = [path_resource stringByAppendingPathComponent:@"ggml-metal.metal"]; - } else { - path_source = [bundle pathForResource:@"ggml-metal" ofType:@"metal"]; - } - - if (path_source == nil) { - GGML_LOG_WARN("%s: error: could not use bundle path to find ggml-metal.metal, falling back to trying cwd\n", __func__); - path_source = @"ggml-metal.metal"; - } - - GGML_LOG_INFO("%s: loading '%s'\n", __func__, [path_source UTF8String]); - - src = [NSString stringWithContentsOfFile:path_source encoding:NSUTF8StringEncoding error:&error]; - if (error) { - GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); - return NULL; - } - } -#endif - - if (!metal_library) { - @autoreleasepool { - // dictionary of preprocessor macros - NSMutableDictionary * prep = [NSMutableDictionary dictionary]; - - if (use_bfloat) { - [prep setObject:@"1" forKey:@"GGML_METAL_USE_BF16"]; - } - -#if GGML_METAL_EMBED_LIBRARY - [prep setObject:@"1" forKey:@"GGML_METAL_EMBED_LIBRARY"]; -#endif - - MTLCompileOptions * options = [MTLCompileOptions new]; - options.preprocessorMacros = prep; - - //[options setFastMathEnabled:false]; - - metal_library = [device newLibraryWithSource:src options:options error:&error]; - if (error) { - GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); - return NULL; - } - -#if !__has_feature(objc_arc) - [options release]; -#endif - } - } - -#if GGML_METAL_EMBED_LIBRARY - [src release]; -#endif // GGML_METAL_EMBED_LIBRARY - - GGML_LOG_INFO("%s: loaded in %.3f sec\n", __func__, (ggml_time_us() - t_start) / 1e6); - - return metal_library; -} - -static struct ggml_backend_metal_context * ggml_metal_init(ggml_backend_dev_t dev) { - GGML_LOG_INFO("%s: allocating\n", __func__); - -#if TARGET_OS_OSX && !GGML_METAL_NDEBUG - // Show all the Metal device instances in the system - NSArray * devices = MTLCopyAllDevices(); - for (id device in devices) { - GGML_LOG_INFO("%s: found device: %s\n", __func__, [[device name] UTF8String]); - } - [devices release]; // since it was created by a *Copy* C method -#endif - - // init context - struct ggml_backend_metal_context * ctx = calloc(1, sizeof(struct ggml_backend_metal_context)); - struct ggml_backend_metal_device_context * ctx_dev = dev->context; - - id device = ctx_dev->mtl_device; - - GGML_LOG_INFO("%s: picking default device: %s\n", __func__, [[device name] UTF8String]); - - ctx->device = device; - - // TODO: question - would it be better to have one queue for the backend and one queue for the device? - // the graph encoders and async ops would use the backend queue while the sync ops would use the device queue? - //ctx->queue = [device newCommandQueue]; [TAG_QUEUE_PER_BACKEND] - ctx->queue = ctx_dev->mtl_queue; - if (ctx->queue == nil) { - GGML_LOG_ERROR("%s: error: failed to create command queue\n", __func__); - return NULL; - } - - ctx->d_queue = dispatch_queue_create("ggml-metal", DISPATCH_QUEUE_CONCURRENT); - - // load library - { - [ctx_dev->mtl_lock lock]; - - if (ctx_dev->mtl_library == nil) { - ctx_dev->mtl_library = ggml_metal_load_library(device, ctx_dev->use_bfloat); - } - - [ctx_dev->mtl_lock unlock]; - } - - id metal_library = ctx_dev->mtl_library; - if (metal_library == nil) { - GGML_LOG_ERROR("%s: error: metal library is nil\n", __func__); - return NULL; - } - - // print MTL GPU family: - GGML_LOG_INFO("%s: GPU name: %s\n", __func__, [[device name] UTF8String]); - - // determine max supported GPU family - // https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf - // https://developer.apple.com/metal/Metal-Feature-Set-Tables.pdf - { - for (int i = MTLGPUFamilyApple1 + 20; i >= MTLGPUFamilyApple1; --i) { - if ([device supportsFamily:i]) { - GGML_LOG_INFO("%s: GPU family: MTLGPUFamilyApple%d (%d)\n", __func__, i - (int) MTLGPUFamilyApple1 + 1, i); - break; - } - } - - for (int i = MTLGPUFamilyCommon1 + 5; i >= MTLGPUFamilyCommon1; --i) { - if ([device supportsFamily:i]) { - GGML_LOG_INFO("%s: GPU family: MTLGPUFamilyCommon%d (%d)\n", __func__, i - (int) MTLGPUFamilyCommon1 + 1, i); - break; - } - } - - for (int i = MTLGPUFamilyMetal3_GGML + 5; i >= MTLGPUFamilyMetal3_GGML; --i) { - if ([device supportsFamily:i]) { - GGML_LOG_INFO("%s: GPU family: MTLGPUFamilyMetal%d (%d)\n", __func__, i - (int) MTLGPUFamilyMetal3_GGML + 3, i); - break; - } - } - } - - GGML_LOG_INFO("%s: simdgroup reduction = %s\n", __func__, ctx_dev->has_simdgroup_reduction ? "true" : "false"); - GGML_LOG_INFO("%s: simdgroup matrix mul. = %s\n", __func__, ctx_dev->has_simdgroup_mm ? "true" : "false"); - GGML_LOG_INFO("%s: has residency sets = %s\n", __func__, ctx_dev->has_residency_sets ? "true" : "false"); - GGML_LOG_INFO("%s: has bfloat = %s\n", __func__, ctx_dev->has_bfloat ? "true" : "false"); - GGML_LOG_INFO("%s: use bfloat = %s\n", __func__, ctx_dev->use_bfloat ? "true" : "false"); - GGML_LOG_INFO("%s: use fusion = %s\n", __func__, ctx_dev->use_fusion ? "true" : "false"); - GGML_LOG_INFO("%s: use concurrency = %s\n", __func__, ctx_dev->use_concurrency ? "true" : "false"); - GGML_LOG_INFO("%s: use shared buffers = %s\n", __func__, ctx_dev->use_shared_buffers ? "true" : "false"); - GGML_LOG_INFO("%s: use graph optimize = %s\n", __func__, ctx_dev->use_graph_optimize ? "true" : "false"); - GGML_LOG_INFO("%s: hasUnifiedMemory = %s\n", __func__, ctx_dev->mtl_device.hasUnifiedMemory ? "true" : "false"); - - ctx->capture_next_compute = false; - ctx->capture_started = false; - ctx->capture_scope = nil; - - ctx->gf = nil; - ctx->encode_async = nil; - for (int i = 0; i < GGML_METAL_MAX_COMMAND_BUFFERS; ++i) { - ctx->cmd_bufs[i].obj = nil; - - if (ctx_dev->use_concurrency) { - ctx->cmd_bufs[i].mem_ranges = ggml_mem_ranges_init(ctx_dev->debug_graph); - } - } - - ctx->cmd_bufs_ext = [[NSMutableArray alloc] init]; - - ctx->cmd_buf_last = nil; - -#if TARGET_OS_OSX || (TARGET_OS_IOS && __clang_major__ >= 15) - if (@available(macOS 10.12, iOS 16.0, *)) { - GGML_LOG_INFO("%s: recommendedMaxWorkingSetSize = %8.2f MB\n", __func__, device.recommendedMaxWorkingSetSize / 1e6); - } -#endif - - // load kernels - { - NSError * error = nil; - - for (int i = 0; i < GGML_METAL_KERNEL_TYPE_COUNT; ++i) { - ctx->kernels[i].pipeline = nil; - } - -#define GGML_METAL_ADD_KERNEL(e, name, supported) \ - if (supported) { \ - struct ggml_metal_kernel * kernel = &ctx->kernels[e]; \ - id metal_function = [metal_library newFunctionWithName:@"kernel_"#name]; \ - kernel->pipeline = [device newComputePipelineStateWithFunction:metal_function error:&error]; \ - GGML_LOG_DEBUG("%s: loaded %-40s %16p | th_max = %4d | th_width = %4d\n", __func__, "kernel_"#name, (void *) kernel->pipeline, \ - (int) kernel->pipeline.maxTotalThreadsPerThreadgroup, \ - (int) kernel->pipeline.threadExecutionWidth); \ - [metal_function release]; \ - if (error) { \ - GGML_LOG_ERROR("%s: error: load pipeline error: %s\n", __func__, [[error description] UTF8String]); \ - return NULL; \ - } \ - } else { \ - GGML_LOG_WARN("%s: skipping %-40s (not supported)\n", __func__, "kernel_"#name); \ - } - - const bool has_simdgroup_mm = ctx_dev->has_simdgroup_mm; - const bool has_simdgroup_reduction = ctx_dev->has_simdgroup_reduction; - const bool use_bfloat = ctx_dev->use_bfloat; - - // simd_sum and simd_max requires MTLGPUFamilyApple7 - - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ADD_ID, add_id, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_REPEAT_F32, repeat_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_REPEAT_F16, repeat_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_REPEAT_I32, repeat_i32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_REPEAT_I16, repeat_i16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SCALE, scale, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SCALE_4, scale_4, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CLAMP, clamp, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_TANH, tanh, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_RELU, relu, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SIGMOID, sigmoid, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GELU, gelu, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GELU_4, gelu_4, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GELU_ERF, gelu_erf, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GELU_ERF_4, gelu_erf_4, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GELU_QUICK, gelu_quick, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GELU_QUICK_4, gelu_quick_4, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SILU, silu, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SILU_4, silu_4, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ELU, elu, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ABS, abs, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SGN, sgn, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_STEP, step, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_HARDSWISH, hardswish, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_HARDSIGMOID, hardsigmoid, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_EXP, exp, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SOFT_MAX_F16, soft_max_f16, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SOFT_MAX_F16_4, soft_max_f16_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SOFT_MAX_F32, soft_max_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SOFT_MAX_F32_4, soft_max_f32_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_DIAG_MASK_INF, diag_mask_inf, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_DIAG_MASK_INF_8, diag_mask_inf_8, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_F32, get_rows_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_F16, get_rows_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_BF16, get_rows_bf16, use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_Q4_0, get_rows_q4_0, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_Q4_1, get_rows_q4_1, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_Q5_0, get_rows_q5_0, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_Q5_1, get_rows_q5_1, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_Q8_0, get_rows_q8_0, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_MXFP4, get_rows_mxfp4, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_Q2_K, get_rows_q2_K, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_Q3_K, get_rows_q3_K, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_Q4_K, get_rows_q4_K, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_Q5_K, get_rows_q5_K, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_Q6_K, get_rows_q6_K, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ2_XXS, get_rows_iq2_xxs, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ2_XS, get_rows_iq2_xs, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ3_XXS, get_rows_iq3_xxs, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ3_S, get_rows_iq3_s, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ2_S, get_rows_iq2_s, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ1_S, get_rows_iq1_s, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ1_M, get_rows_iq1_m, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ4_NL, get_rows_iq4_nl, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ4_XS, get_rows_iq4_xs, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GET_ROWS_I32, get_rows_i32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SET_ROWS_F32, set_rows_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SET_ROWS_F16, set_rows_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SET_ROWS_BF16, set_rows_bf16, use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SET_ROWS_Q8_0, set_rows_q8_0, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SET_ROWS_Q4_0, set_rows_q4_0, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SET_ROWS_Q4_1, set_rows_q4_1, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SET_ROWS_Q5_0, set_rows_q5_0, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SET_ROWS_Q5_1, set_rows_q5_1, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SET_ROWS_IQ4_NL, set_rows_iq4_nl, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_L2_NORM, l2_norm, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GROUP_NORM, group_norm, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_NORM, norm, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SSM_CONV_F32, ssm_conv_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SSM_SCAN_F32, ssm_scan_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SSM_SCAN_F32_GROUP, ssm_scan_f32_group, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_RWKV_WKV6_F32, rwkv_wkv6_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_RWKV_WKV7_F32, rwkv_wkv7_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_F32_F32, mul_mv_f32_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_F32_F32_C4, mul_mv_f32_f32_c4, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32, mul_mv_bf16_f32, has_simdgroup_reduction && use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32_C4, mul_mv_bf16_f32_c4, use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32_1ROW, mul_mv_bf16_f32_1row, has_simdgroup_reduction && use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32_L4, mul_mv_bf16_f32_l4, has_simdgroup_reduction && use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_BF16, mul_mv_bf16_bf16, has_simdgroup_reduction && use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32, mul_mv_f16_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32_C4, mul_mv_f16_f32_c4, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32_1ROW, mul_mv_f16_f32_1row, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32_L4, mul_mv_f16_f32_l4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F16, mul_mv_f16_f16, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_Q4_0_F32, mul_mv_q4_0_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_Q4_1_F32, mul_mv_q4_1_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_Q5_0_F32, mul_mv_q5_0_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_Q5_1_F32, mul_mv_q5_1_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_Q8_0_F32, mul_mv_q8_0_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_MXFP4_F32, mul_mv_mxfp4_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_2, mul_mv_ext_f32_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_3, mul_mv_ext_f32_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_4, mul_mv_ext_f32_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_5, mul_mv_ext_f32_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_2, mul_mv_ext_f16_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_3, mul_mv_ext_f16_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_4, mul_mv_ext_f16_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_5, mul_mv_ext_f16_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_2, mul_mv_ext_q4_0_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_3, mul_mv_ext_q4_0_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_4, mul_mv_ext_q4_0_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_5, mul_mv_ext_q4_0_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_2, mul_mv_ext_q4_1_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_3, mul_mv_ext_q4_1_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_4, mul_mv_ext_q4_1_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_5, mul_mv_ext_q4_1_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_2, mul_mv_ext_q5_0_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_3, mul_mv_ext_q5_0_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_4, mul_mv_ext_q5_0_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_5, mul_mv_ext_q5_0_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_2, mul_mv_ext_q5_1_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_3, mul_mv_ext_q5_1_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_4, mul_mv_ext_q5_1_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_5, mul_mv_ext_q5_1_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_2, mul_mv_ext_q8_0_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_3, mul_mv_ext_q8_0_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_4, mul_mv_ext_q8_0_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_5, mul_mv_ext_q8_0_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_2, mul_mv_ext_mxfp4_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_3, mul_mv_ext_mxfp4_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_4, mul_mv_ext_mxfp4_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_5, mul_mv_ext_mxfp4_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_2, mul_mv_ext_q4_K_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_3, mul_mv_ext_q4_K_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_4, mul_mv_ext_q4_K_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_5, mul_mv_ext_q4_K_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_2, mul_mv_ext_q5_K_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_3, mul_mv_ext_q5_K_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_4, mul_mv_ext_q5_K_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_5, mul_mv_ext_q5_K_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_2, mul_mv_ext_q6_K_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_3, mul_mv_ext_q6_K_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_4, mul_mv_ext_q6_K_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_5, mul_mv_ext_q6_K_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_2, mul_mv_ext_iq4_nl_f32_r1_2, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_3, mul_mv_ext_iq4_nl_f32_r1_3, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_4, mul_mv_ext_iq4_nl_f32_r1_4, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_5, mul_mv_ext_iq4_nl_f32_r1_5, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_Q2_K_F32, mul_mv_q2_K_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_Q3_K_F32, mul_mv_q3_K_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_Q4_K_F32, mul_mv_q4_K_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_Q5_K_F32, mul_mv_q5_K_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_Q6_K_F32, mul_mv_q6_K_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_IQ2_XXS_F32, mul_mv_iq2_xxs_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_IQ2_XS_F32, mul_mv_iq2_xs_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_IQ3_XXS_F32, mul_mv_iq3_xxs_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_IQ3_S_F32, mul_mv_iq3_s_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_IQ2_S_F32, mul_mv_iq2_s_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_IQ1_S_F32, mul_mv_iq1_s_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_IQ1_M_F32, mul_mv_iq1_m_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_IQ4_NL_F32, mul_mv_iq4_nl_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_IQ4_XS_F32, mul_mv_iq4_xs_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F32_F32, mul_mv_id_f32_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F16_F32, mul_mv_id_f16_f32, has_simdgroup_reduction); - //GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F16_F32_1ROW, mul_mv_id_f16_f32_1row, has_simdgroup_reduction); - //GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F16_F32_L4, mul_mv_id_f16_f32_l4, has_simdgroup_reduction); - //GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F16_F16, mul_mv_id_f16_f16, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_BF16_F32, mul_mv_id_bf16_f32, has_simdgroup_reduction && use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q4_0_F32, mul_mv_id_q4_0_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q4_1_F32, mul_mv_id_q4_1_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q5_0_F32, mul_mv_id_q5_0_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q5_1_F32, mul_mv_id_q5_1_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q8_0_F32, mul_mv_id_q8_0_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_MXFP4_F32, mul_mv_id_mxfp4_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q2_K_F32, mul_mv_id_q2_K_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q3_K_F32, mul_mv_id_q3_K_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q4_K_F32, mul_mv_id_q4_K_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q5_K_F32, mul_mv_id_q5_K_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q6_K_F32, mul_mv_id_q6_K_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ2_XXS_F32, mul_mv_id_iq2_xxs_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ2_XS_F32, mul_mv_id_iq2_xs_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ3_XXS_F32, mul_mv_id_iq3_xxs_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ3_S_F32, mul_mv_id_iq3_s_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ2_S_F32, mul_mv_id_iq2_s_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ1_S_F32, mul_mv_id_iq1_s_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ1_M_F32, mul_mv_id_iq1_m_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ4_NL_F32, mul_mv_id_iq4_nl_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ4_XS_F32, mul_mv_id_iq4_xs_f32, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_F32_F32, mul_mm_f32_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_F16_F32, mul_mm_f16_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_BF16_F32, mul_mm_bf16_f32, has_simdgroup_mm && use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_Q4_0_F32, mul_mm_q4_0_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_Q4_1_F32, mul_mm_q4_1_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_Q5_0_F32, mul_mm_q5_0_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_Q5_1_F32, mul_mm_q5_1_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_Q8_0_F32, mul_mm_q8_0_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_MXFP4_F32, mul_mm_mxfp4_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_Q2_K_F32, mul_mm_q2_K_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_Q3_K_F32, mul_mm_q3_K_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_Q4_K_F32, mul_mm_q4_K_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_Q5_K_F32, mul_mm_q5_K_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_Q6_K_F32, mul_mm_q6_K_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_IQ2_XXS_F32, mul_mm_iq2_xxs_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_IQ2_XS_F32, mul_mm_iq2_xs_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_IQ3_XXS_F32, mul_mm_iq3_xxs_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_IQ3_S_F32, mul_mm_iq3_s_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_IQ2_S_F32, mul_mm_iq2_s_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_IQ1_S_F32, mul_mm_iq1_s_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_IQ1_M_F32, mul_mm_iq1_m_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_IQ4_NL_F32, mul_mm_iq4_nl_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_IQ4_XS_F32, mul_mm_iq4_xs_f32, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_1, mul_mm_id_map0_f16_ne20_1, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_2, mul_mm_id_map0_f16_ne20_2, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_4, mul_mm_id_map0_f16_ne20_4, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_6, mul_mm_id_map0_f16_ne20_6, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_8, mul_mm_id_map0_f16_ne20_8, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_10, mul_mm_id_map0_f16_ne20_10, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_16, mul_mm_id_map0_f16_ne20_16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_F32_F16, mul_mm_id_f32_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_F16_F16, mul_mm_id_f16_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_BF16_F16, mul_mm_id_bf16_f16, has_simdgroup_mm && use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q4_0_F16, mul_mm_id_q4_0_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q4_1_F16, mul_mm_id_q4_1_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q5_0_F16, mul_mm_id_q5_0_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q5_1_F16, mul_mm_id_q5_1_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q8_0_F16, mul_mm_id_q8_0_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MXFP4_F16, mul_mm_id_mxfp4_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q2_K_F16, mul_mm_id_q2_K_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q3_K_F16, mul_mm_id_q3_K_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q4_K_F16, mul_mm_id_q4_K_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q5_K_F16, mul_mm_id_q5_K_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q6_K_F16, mul_mm_id_q6_K_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ2_XXS_F16, mul_mm_id_iq2_xxs_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ2_XS_F16, mul_mm_id_iq2_xs_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ3_XXS_F16, mul_mm_id_iq3_xxs_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ3_S_F16, mul_mm_id_iq3_s_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ2_S_F16, mul_mm_id_iq2_s_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ1_S_F16, mul_mm_id_iq1_s_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ1_M_F16, mul_mm_id_iq1_m_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ4_NL_F16, mul_mm_id_iq4_nl_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ4_XS_F16, mul_mm_id_iq4_xs_f16, has_simdgroup_mm); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ROPE_NORM_F32, rope_norm_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ROPE_NORM_F16, rope_norm_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ROPE_MULTI_F32, rope_multi_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ROPE_MULTI_F16, rope_multi_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ROPE_VISION_F32, rope_vision_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ROPE_VISION_F16, rope_vision_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ROPE_NEOX_F32, rope_neox_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ROPE_NEOX_F16, rope_neox_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_IM2COL_F16, im2col_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_IM2COL_F32, im2col_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_IM2COL_EXT_F16, im2col_ext_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_IM2COL_EXT_F32, im2col_ext_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CONV_TRANSPOSE_1D_F32_F32, conv_transpose_1d_f32_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CONV_TRANSPOSE_1D_F16_F32, conv_transpose_1d_f16_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_UPSCALE_F32, upscale_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_PAD_F32, pad_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_PAD_REFLECT_1D_F32, pad_reflect_1d_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_TIMESTEP_EMBEDDING_F32, timestep_embedding_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ARANGE_F32, arange_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ARGSORT_F32_I32_ASC, argsort_f32_i32_asc, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ARGSORT_F32_I32_DESC, argsort_f32_i32_desc, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_LEAKY_RELU_F32, leaky_relu_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F32_F32, cpy_f32_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F32_F16, cpy_f32_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F32_BF16, cpy_f32_bf16, use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F16_F32, cpy_f16_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F16_F16, cpy_f16_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_BF16_F32, cpy_bf16_f32, use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_BF16_BF16, cpy_bf16_bf16, use_bfloat); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F32_I32, cpy_f32_i32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_I32_F32, cpy_i32_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F32_Q8_0, cpy_f32_q8_0, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F32_Q4_0, cpy_f32_q4_0, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F32_Q4_1, cpy_f32_q4_1, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F32_Q5_0, cpy_f32_q5_0, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F32_Q5_1, cpy_f32_q5_1, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_F32_IQ4_NL, cpy_f32_iq4_nl, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_Q4_0_F32, cpy_q4_0_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_Q4_0_F16, cpy_q4_0_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_Q4_1_F32, cpy_q4_1_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_Q4_1_F16, cpy_q4_1_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_Q5_0_F32, cpy_q5_0_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_Q5_0_F16, cpy_q5_0_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_Q5_1_F32, cpy_q5_1_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_Q5_1_F16, cpy_q5_1_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_Q8_0_F32, cpy_q8_0_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CPY_Q8_0_F16, cpy_q8_0_f16, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_CONCAT, concat, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SQR, sqr, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SQRT, sqrt, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SIN, sin, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_COS, cos, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_NEG, neg, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_REGLU, reglu, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GEGLU, geglu, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SWIGLU, swiglu, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SWIGLU_OAI, swiglu_oai, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GEGLU_ERF, geglu_erf, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_GEGLU_QUICK, geglu_quick, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_SUM_ROWS, sum_rows, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_MEAN, mean, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_ARGMAX, argmax, has_simdgroup_reduction); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_POOL_2D_AVG_F32, pool_2d_avg_f32, true); - GGML_METAL_ADD_KERNEL(GGML_METAL_KERNEL_TYPE_POOL_2D_MAX_F32, pool_2d_max_f32, true); - } - - ctx->kernels_ext = [[NSMutableDictionary alloc] init]; - - return ctx; -} - -static id ggml_metal_get_kernel(struct ggml_backend_metal_context * ctx, const char * name) { - NSString * key = [NSString stringWithUTF8String:name]; - - ggml_metal_kernel_wrapper * obj = [ctx->kernels_ext objectForKey:key]; - if (obj) { - return obj.kernel.pipeline; - } - - return nil; -} - -static id ggml_metal_compile_kernel(ggml_backend_t backend, const char * base, const char * name, MTLFunctionConstantValues * cv) { - struct ggml_backend_metal_context * ctx = backend->context; - struct ggml_backend_metal_device_context * ctx_dev = backend->device->context; - - id res = nil; - - @autoreleasepool { - NSError * error = nil; - - NSString * base_func = [NSString stringWithUTF8String:base]; - - GGML_LOG_DEBUG("%s: compiling kernel: base = '%s', name = '%s'\n", __func__, base, name); - - // TODO: make sure it is thread-safe to compile kernels in parallel - id metal_function = [ctx_dev->mtl_library newFunctionWithName:base_func constantValues:cv error:&error]; - if (!metal_function) { - GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); - - return nil; - } - - struct ggml_metal_kernel kernel = { - /*.pipeline =*/ [ctx_dev->mtl_device newComputePipelineStateWithFunction:metal_function error:&error], - }; - - ggml_metal_kernel_wrapper * obj = [[ggml_metal_kernel_wrapper alloc] init]; - obj.kernel = kernel; - - res = obj.kernel.pipeline; - - NSString * key = [NSString stringWithUTF8String:name]; - [ctx->kernels_ext setObject:obj forKey:key]; - - [metal_function release]; - [obj release]; - - GGML_LOG_DEBUG("%s: loaded %-40s %16p | th_max = %4d | th_width = %4d\n", __func__, name, (void *) kernel.pipeline, - (int) kernel.pipeline.maxTotalThreadsPerThreadgroup, - (int) kernel.pipeline.threadExecutionWidth); - } - - return res; -} - -// tokens per expert -static size_t ggml_metal_mul_mat_id_extra_tpe(const struct ggml_tensor * op) { - assert(op->op == GGML_OP_MUL_MAT_ID); - - const int64_t ne02 = op->src[0]->ne[2]; // n_expert - - return ggml_type_size(GGML_TYPE_I32)*ne02; -} - -// id map [n_tokens, n_expert] -static size_t ggml_metal_mul_mat_id_extra_ids(const struct ggml_tensor * op) { - assert(op->op == GGML_OP_MUL_MAT_ID); - - const int64_t ne02 = op->src[0]->ne[2]; // n_expert - const int64_t ne21 = op->src[2]->ne[1]; // n_token - - return ggml_type_size(GGML_TYPE_I32)*ne02*ne21; -} - -// return true if we should use the FA vector kernel for this op -static bool ggml_metal_flash_attn_ext_use_vec(const struct ggml_tensor * op) { - assert(op->op == GGML_OP_FLASH_ATTN_EXT); - - const int64_t ne00 = op->src[0]->ne[0]; // head size - const int64_t ne01 = op->src[0]->ne[1]; // batch size - - // use vec kernel if the batch size is small and if the head size is supported - return (ne01 < 20) && (ne00 % 32 == 0); -} - -static size_t ggml_metal_flash_attn_ext_extra_tmp(const struct ggml_tensor * op) { - assert(op->op == GGML_OP_FLASH_ATTN_EXT); - - const int64_t nwg = 32; - - const int64_t ne01 = op->src[0]->ne[1]; - const int64_t ne02 = op->src[0]->ne[2]; - const int64_t ne03 = op->src[0]->ne[3]; - const int64_t ne20 = op->src[2]->ne[0]; - - // temp buffer for writing the results from each workgroup - // - ne20: the size of the Value head - // - + 2: the S and M values for each intermediate result - return ggml_type_size(GGML_TYPE_F32)*(ne01*ne02*ne03*nwg*(ne20 + 2)); -} - -static id ggml_metal_get_pipeline_flash_attn_ext( - ggml_backend_t backend, struct ggml_tensor * op, - bool has_mask, - bool has_sinks, - bool has_bias, - bool has_scap, - int32_t nsg) { - struct ggml_backend_metal_context * ctx = backend->context; - - char base[256]; - char name[256]; - - @autoreleasepool { - const int32_t dk = (int32_t) op->src[1]->ne[0]; - const int32_t dv = (int32_t) op->src[2]->ne[0]; - - const int32_t ns10 = op->src[1]->nb[1]/op->src[1]->nb[0]; - const int32_t ns20 = op->src[2]->nb[1]/op->src[2]->nb[0]; - - snprintf(base, 256, "kernel_%s_%s_dk%d_dv%d", - "flash_attn_ext", - ggml_type_name(op->src[1]->type), - dk, - dv); - - snprintf(name, 256, "kernel_%s_%s_dk%d_dv%d_mask=%d_sinks=%d_bias=%d_scap=%d_ns10=%d_ns20=%d_nsg=%d", - "flash_attn_ext", - ggml_type_name(op->src[1]->type), - dk, - dv, - has_mask, - has_sinks, - has_bias, - has_scap, - ns10, - ns20, - nsg); - - id res = ggml_metal_get_kernel(ctx, name); - if (res) { - // kernel found - return res; - } - - MTLFunctionConstantValues * cv = [[MTLFunctionConstantValues alloc] init]; - - [cv setConstantValue:&has_mask type:MTLDataTypeBool atIndex:FC_FLASH_ATTN_EXT + 0]; - [cv setConstantValue:&has_sinks type:MTLDataTypeBool atIndex:FC_FLASH_ATTN_EXT + 1]; - [cv setConstantValue:&has_bias type:MTLDataTypeBool atIndex:FC_FLASH_ATTN_EXT + 2]; - [cv setConstantValue:&has_scap type:MTLDataTypeBool atIndex:FC_FLASH_ATTN_EXT + 3]; - - [cv setConstantValue:&ns10 type:MTLDataTypeInt atIndex:FC_FLASH_ATTN_EXT + 20]; - [cv setConstantValue:&ns20 type:MTLDataTypeInt atIndex:FC_FLASH_ATTN_EXT + 21]; - [cv setConstantValue:&nsg type:MTLDataTypeInt atIndex:FC_FLASH_ATTN_EXT + 22]; - - res = ggml_metal_compile_kernel(backend, base, name, cv); - - [cv release]; - - return res; - } -} - -static id ggml_metal_get_pipeline_flash_attn_ext_vec( - ggml_backend_t backend, struct ggml_tensor * op, - bool has_mask, - bool has_sinks, - bool has_bias, - bool has_scap, - int32_t nsg, - int32_t nwg) { - struct ggml_backend_metal_context * ctx = backend->context; - - char base[256]; - char name[256]; - - @autoreleasepool { - const int32_t dk = (int32_t) op->src[1]->ne[0]; - const int32_t dv = (int32_t) op->src[2]->ne[0]; - - const int32_t ns10 = op->src[1]->nb[1]/op->src[1]->nb[0]; - const int32_t ns20 = op->src[2]->nb[1]/op->src[2]->nb[0]; - - snprintf(base, 256, "kernel_%s_%s_dk%d_dv%d", - "flash_attn_ext_vec", - ggml_type_name(op->src[1]->type), - dk, - dv); - - snprintf(name, 256, "kernel_%s_%s_dk%d_dv%d_mask=%d_sink=%d_bias=%d_softcap=%d_ns10=%d_ns20=%d_nsg=%d_nwg=%d", - "flash_attn_ext_vec", - ggml_type_name(op->src[1]->type), - dk, - dv, - has_mask, - has_sinks, - has_bias, - has_scap, - ns10, - ns20, - nsg, nwg); - - id res = ggml_metal_get_kernel(ctx, name); - if (res) { - // kernel found - return res; - } - - MTLFunctionConstantValues * cv = [[MTLFunctionConstantValues alloc] init]; - - [cv setConstantValue:&has_mask type:MTLDataTypeBool atIndex:FC_FLASH_ATTN_EXT_VEC + 0]; - [cv setConstantValue:&has_sinks type:MTLDataTypeBool atIndex:FC_FLASH_ATTN_EXT_VEC + 1]; - [cv setConstantValue:&has_bias type:MTLDataTypeBool atIndex:FC_FLASH_ATTN_EXT_VEC + 2]; - [cv setConstantValue:&has_scap type:MTLDataTypeBool atIndex:FC_FLASH_ATTN_EXT_VEC + 3]; - - [cv setConstantValue:&ns10 type:MTLDataTypeInt atIndex:FC_FLASH_ATTN_EXT_VEC + 20]; - [cv setConstantValue:&ns20 type:MTLDataTypeInt atIndex:FC_FLASH_ATTN_EXT_VEC + 21]; - [cv setConstantValue:&nsg type:MTLDataTypeInt atIndex:FC_FLASH_ATTN_EXT_VEC + 22]; - [cv setConstantValue:&nwg type:MTLDataTypeInt atIndex:FC_FLASH_ATTN_EXT_VEC + 23]; - - res = ggml_metal_compile_kernel(backend, base, name, cv); - - [cv release]; - - return res; - } -} - -static id ggml_metal_get_pipeline_flash_attn_ext_vec_reduce( - ggml_backend_t backend, struct ggml_tensor * op, - int32_t dv, - int32_t nwg) { - struct ggml_backend_metal_context * ctx = backend->context; - - char base[256]; - char name[256]; - - @autoreleasepool { - snprintf(base, 256, "kernel_flash_attn_ext_vec_reduce"); - snprintf(name, 256, "kernel_flash_attn_ext_vec_reduce_dv=%d_nwg=%d", dv, nwg); - - id res = ggml_metal_get_kernel(ctx, name); - if (res) { - // kernel found - return res; - } - - MTLFunctionConstantValues * cv = [[MTLFunctionConstantValues alloc] init]; - - [cv setConstantValue:&dv type:MTLDataTypeInt atIndex:FC_FLASH_ATTN_EXT_VEC_REDUCE + 0]; - [cv setConstantValue:&nwg type:MTLDataTypeInt atIndex:FC_FLASH_ATTN_EXT_VEC_REDUCE + 1]; - - res = ggml_metal_compile_kernel(backend, base, name, cv); - - [cv release]; - - return res; - } - - GGML_UNUSED(op); -} - -static id ggml_metal_get_pipeline_bin( - ggml_backend_t backend, enum ggml_op op, - int32_t n_fuse, - bool row) { - struct ggml_backend_metal_context * ctx = backend->context; - - char base[256]; - char name[256]; - - @autoreleasepool { - const char * op_str = "undefined"; - switch (op) { - case GGML_OP_ADD: op_str = "add"; break; - case GGML_OP_SUB: op_str = "sub"; break; - case GGML_OP_MUL: op_str = "mul"; break; - case GGML_OP_DIV: op_str = "div"; break; - default: GGML_ABORT("fatal error"); - }; - - if (row) { - snprintf(base, 256, "kernel_%s_row_c4_fuse_%d", op_str, n_fuse); - } else { - snprintf(base, 256, "kernel_%s_fuse_%d", op_str, n_fuse); - } - - snprintf(name, 256, "%s", base); - - id res = ggml_metal_get_kernel(ctx, name); - if (res) { - // kernel found - return res; - } - - return ggml_metal_compile_kernel(backend, base, name, nil); - } -} - -static id ggml_metal_get_pipeline_rms_norm( - ggml_backend_t backend, struct ggml_tensor * op, - int32_t n_fuse) { - struct ggml_backend_metal_context * ctx = backend->context; - - char base[256]; - char name[256]; - - @autoreleasepool { - switch (n_fuse) { - case 1: snprintf(base, 256, "kernel_rms_norm"); break; - case 2: snprintf(base, 256, "kernel_rms_norm_mul"); break; - case 3: snprintf(base, 256, "kernel_rms_norm_mul_add"); break; - default: GGML_ABORT("fatal error"); - } - - snprintf(name, 256, "%s", base); - - id res = ggml_metal_get_kernel(ctx, name); - if (res) { - // kernel found - return res; - } - - return ggml_metal_compile_kernel(backend, base, name, nil); - } - - GGML_UNUSED(op); -} - -static void ggml_metal_free(struct ggml_backend_metal_context * ctx) { - GGML_LOG_INFO("%s: deallocating\n", __func__); - - for (int i = 0; i < GGML_METAL_KERNEL_TYPE_COUNT; ++i) { - [ctx->kernels[i].pipeline release]; - } - - if (ctx->kernels_ext) { - [ctx->kernels_ext release]; - ctx->kernels_ext = nil; - } - - Block_release(ctx->encode_async); - - //[ctx->queue release]; // [TAG_QUEUE_PER_BACKEND] - - for (int i = 0; i < GGML_METAL_MAX_COMMAND_BUFFERS; ++i) { - if (ctx->cmd_bufs[i].obj) { - [ctx->cmd_bufs[i].obj release]; - } - - if (ctx->cmd_bufs[i].mem_ranges) { - ggml_mem_ranges_free(ctx->cmd_bufs[i].mem_ranges); - } - } - - [ctx->cmd_bufs_ext removeAllObjects]; - [ctx->cmd_bufs_ext release]; - - dispatch_release(ctx->d_queue); - - free(ctx); -} - -// temporarily defined here for compatibility between ggml-backend and the old API - -struct ggml_backend_metal_buffer { - void * data; - size_t size; - - id metal; -}; - -struct ggml_backend_metal_buffer_context { - void * all_data; - size_t all_size; - - // if false, the Metal buffer data is allocated in private GPU memory and is not shared with the host - bool is_shared; - - // multiple buffers are used only to avoid the maximum buffer size limitation when using mmap - int n_buffers; - struct ggml_backend_metal_buffer buffers[GGML_METAL_MAX_BUFFERS]; - - // optional MTLResidencySet - // note: cannot use explicity "id" here because it is not available on certain OSes - id rset; - - // pointers to global device objects - id device; - id queue; -}; - -// rset init -static bool ggml_backend_metal_buffer_rset_init( - struct ggml_backend_metal_buffer_context * ctx, - struct ggml_backend_metal_device_context * ctx_dev, - id device) { - ctx->rset = nil; - - if (!ctx_dev->has_residency_sets) { - return true; - } - -#if defined(GGML_METAL_HAS_RESIDENCY_SETS) - if (@available(macOS 15.0, iOS 18.0, tvOS 18.0, visionOS 2.0, *)) { - MTLResidencySetDescriptor * desc = [[MTLResidencySetDescriptor alloc] init]; - desc.label = @"ggml_backend_metal"; - desc.initialCapacity = ctx->n_buffers; - - NSError * error; - ctx->rset = [device newResidencySetWithDescriptor:desc error:&error]; - if (error) { - GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); - [desc release]; - return false; - } - - [desc release]; - - for (int i = 0; i < ctx->n_buffers; i++) { - [ctx->rset addAllocation:ctx->buffers[i].metal]; - } - - [ctx->rset commit]; - [ctx->rset requestResidency]; - - return true; - } -#else - GGML_UNUSED(ctx_dev); - GGML_UNUSED(device); -#endif - - return true; -} - -// rset free -static void ggml_backend_metal_buffer_rset_free(struct ggml_backend_metal_buffer_context * ctx) { -#if defined(GGML_METAL_HAS_RESIDENCY_SETS) - if (@available(macOS 15.0, iOS 18.0, tvOS 18.0, visionOS 2.0, *)) { - if (ctx->rset) { - [ctx->rset endResidency]; - [ctx->rset removeAllAllocations]; - [ctx->rset release]; - } - } -#else - GGML_UNUSED(ctx); -#endif -} - -// finds the Metal buffer that contains the tensor data on the GPU device -// the assumption is that there is 1-to-1 mapping between the host and device memory buffers, so we can find the -// Metal buffer based on the host memory pointer -// -static id ggml_metal_get_buffer(const struct ggml_tensor * t, size_t * offs) { - //GGML_LOG_INFO("%s: data tensor '%16s', offs_data = %8ld, offs_eval = %8ld, offs_cach = %8ld\n", __func__, t->name, offs_data, offs_eval, offs_cach); - - const int64_t tsize = ggml_nbytes(t); - - ggml_backend_buffer_t buffer = t->view_src ? t->view_src->buffer : t->buffer; - - struct ggml_backend_metal_buffer_context * buf_ctx = (struct ggml_backend_metal_buffer_context *) buffer->context; - - // find the view that contains the tensor fully - for (int i = 0; i < buf_ctx->n_buffers; ++i) { - const int64_t ioffs = (int64_t) t->data - (int64_t) buf_ctx->buffers[i].data; - - //GGML_LOG_INFO("ioffs = %10ld, tsize = %10ld, sum = %10ld, buf_ctx->buffers[%d].size = %10ld\n", ioffs, tsize, ioffs + tsize, i, buf_ctx->buffers[i].size); - if (ioffs >= 0 && ioffs + tsize <= (int64_t) buf_ctx->buffers[i].size) { - *offs = (size_t) ioffs; - - //GGML_LOG_INFO("%s: tensor '%16s', offs = %8ld\n", __func__, t->name, *offs); - - return buf_ctx->buffers[i].metal; - } - } - - GGML_LOG_ERROR("%s: error: tensor '%s' buffer is nil\n", __func__, t->name); - - return nil; -} - -static bool ggml_metal_supports_op(const struct ggml_backend_metal_device_context * ctx_dev, const struct ggml_tensor * op) { - const bool has_simdgroup_mm = ctx_dev->has_simdgroup_mm; - const bool has_simdgroup_reduction = ctx_dev->has_simdgroup_reduction; - const bool use_bfloat = ctx_dev->use_bfloat; - - if (!use_bfloat) { - if (op->type == GGML_TYPE_BF16) { - return false; - } - - for (size_t i = 0, n = 3; i < n; ++i) { - if (op->src[i] != NULL && op->src[i]->type == GGML_TYPE_BF16) { - return false; - } - } - } - - switch (op->op) { - case GGML_OP_UNARY: - switch (ggml_get_unary_op(op)) { - case GGML_UNARY_OP_TANH: - case GGML_UNARY_OP_RELU: - case GGML_UNARY_OP_SIGMOID: - case GGML_UNARY_OP_GELU: - case GGML_UNARY_OP_GELU_ERF: - case GGML_UNARY_OP_GELU_QUICK: - case GGML_UNARY_OP_SILU: - case GGML_UNARY_OP_ELU: - case GGML_UNARY_OP_NEG: - case GGML_UNARY_OP_ABS: - case GGML_UNARY_OP_SGN: - case GGML_UNARY_OP_STEP: - case GGML_UNARY_OP_HARDSWISH: - case GGML_UNARY_OP_HARDSIGMOID: - case GGML_UNARY_OP_EXP: - return ggml_is_contiguous(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; - default: - return false; - } - case GGML_OP_GLU: - switch (ggml_get_glu_op(op)) { - case GGML_GLU_OP_REGLU: - case GGML_GLU_OP_GEGLU: - case GGML_GLU_OP_SWIGLU: - case GGML_GLU_OP_SWIGLU_OAI: - case GGML_GLU_OP_GEGLU_ERF: - case GGML_GLU_OP_GEGLU_QUICK: - return ggml_is_contiguous_1(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; - default: - return false; - } - case GGML_OP_NONE: - case GGML_OP_RESHAPE: - case GGML_OP_VIEW: - case GGML_OP_TRANSPOSE: - case GGML_OP_PERMUTE: - case GGML_OP_CONCAT: - return true; - case GGML_OP_ADD: - case GGML_OP_SUB: - case GGML_OP_MUL: - case GGML_OP_DIV: - case GGML_OP_ADD_ID: - return op->src[0]->type == GGML_TYPE_F32; - case GGML_OP_ACC: - case GGML_OP_REPEAT: - case GGML_OP_SCALE: - case GGML_OP_CONV_TRANSPOSE_1D: - return true; - case GGML_OP_CLAMP: - return op->src[0]->type == GGML_TYPE_F32; - case GGML_OP_SQR: - case GGML_OP_SQRT: - case GGML_OP_SIN: - case GGML_OP_COS: - return ggml_is_contiguous(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; - case GGML_OP_LOG: - return false; // TODO: implement - case GGML_OP_SUM_ROWS: - case GGML_OP_MEAN: - case GGML_OP_SOFT_MAX: - case GGML_OP_GROUP_NORM: - return has_simdgroup_reduction && ggml_is_contiguous_rows(op->src[0]); - case GGML_OP_RMS_NORM: - case GGML_OP_L2_NORM: - return has_simdgroup_reduction && (op->ne[0] % 4 == 0 && ggml_is_contiguous_1(op->src[0])); - case GGML_OP_ARGMAX: - return has_simdgroup_reduction; - case GGML_OP_NORM: - return has_simdgroup_reduction && (op->ne[0] % 4 == 0 && ggml_is_contiguous_1(op->src[0])); - case GGML_OP_ROPE: - return true; - case GGML_OP_IM2COL: - return ggml_is_contiguous(op->src[1]) && op->src[1]->type == GGML_TYPE_F32 && (op->type == GGML_TYPE_F16 || op->type == GGML_TYPE_F32); - case GGML_OP_POOL_1D: - return false; - case GGML_OP_UPSCALE: - return op->src[0]->type == GGML_TYPE_F32 && op->op_params[0] == GGML_SCALE_MODE_NEAREST; - case GGML_OP_POOL_2D: - return op->src[0]->type == GGML_TYPE_F32; - case GGML_OP_PAD: - return (ggml_get_op_params_i32(op, 0) == 0) && (ggml_get_op_params_i32(op, 2) == 0) && - (ggml_get_op_params_i32(op, 4) == 0) && (ggml_get_op_params_i32(op, 6) == 0); - case GGML_OP_PAD_REFLECT_1D: - case GGML_OP_TIMESTEP_EMBEDDING: - case GGML_OP_ARGSORT: - case GGML_OP_LEAKY_RELU: - return op->src[0]->type == GGML_TYPE_F32; - case GGML_OP_ARANGE: - return true; - case GGML_OP_FLASH_ATTN_EXT: - // for new head sizes, add checks here - if (op->src[0]->ne[0] != 40 && - op->src[0]->ne[0] != 64 && - op->src[0]->ne[0] != 80 && - op->src[0]->ne[0] != 96 && - op->src[0]->ne[0] != 112 && - op->src[0]->ne[0] != 128 && - op->src[0]->ne[0] != 192 && - op->src[0]->ne[0] != 256) { - return false; - } - if (op->src[0]->ne[0] == 576) { - // DeepSeek sizes - // TODO: disabled for now, until optmized - return false; - } - if (op->src[1]->type != op->src[2]->type) { - return false; - } - return has_simdgroup_mm; // TODO: over-restricted for vec-kernels - case GGML_OP_SSM_CONV: - case GGML_OP_SSM_SCAN: - return has_simdgroup_reduction; - case GGML_OP_RWKV_WKV6: - case GGML_OP_RWKV_WKV7: - return true; - case GGML_OP_MUL_MAT: - case GGML_OP_MUL_MAT_ID: - return has_simdgroup_reduction && - (op->src[0]->type != GGML_TYPE_F32 || op->src[1]->type == GGML_TYPE_F32); - case GGML_OP_CPY: - case GGML_OP_DUP: - case GGML_OP_CONT: - { - switch (op->src[0]->type) { - case GGML_TYPE_F32: - switch (op->type) { - case GGML_TYPE_F32: - case GGML_TYPE_F16: - case GGML_TYPE_BF16: - case GGML_TYPE_Q8_0: - case GGML_TYPE_Q4_0: - case GGML_TYPE_Q4_1: - case GGML_TYPE_Q5_0: - case GGML_TYPE_Q5_1: - case GGML_TYPE_IQ4_NL: - case GGML_TYPE_I32: - return true; - default: - return false; - } - case GGML_TYPE_F16: - switch (op->type) { - case GGML_TYPE_F32: - case GGML_TYPE_F16: - return true; - default: - return false; - } - case GGML_TYPE_BF16: - switch (op->type) { - case GGML_TYPE_F32: - case GGML_TYPE_BF16: - return true; - default: - return false; - } - case GGML_TYPE_Q4_0: - case GGML_TYPE_Q4_1: - case GGML_TYPE_Q5_0: - case GGML_TYPE_Q5_1: - case GGML_TYPE_Q8_0: - switch (op->type) { - case GGML_TYPE_F32: - case GGML_TYPE_F16: - return true; - default: - return false; - } - case GGML_TYPE_I32: - return op->type == GGML_TYPE_F32; - default: - return false; - }; - } - case GGML_OP_DIAG_MASK_INF: - case GGML_OP_GET_ROWS: - { - return op->ne[3] == 1; - } - case GGML_OP_SET_ROWS: - { - if (op->src[0]->type != GGML_TYPE_F32) { - return false; - } - - switch (op->type) { - case GGML_TYPE_F32: - case GGML_TYPE_F16: - case GGML_TYPE_BF16: - case GGML_TYPE_Q8_0: - case GGML_TYPE_Q4_0: - case GGML_TYPE_Q4_1: - case GGML_TYPE_Q5_0: - case GGML_TYPE_Q5_1: - case GGML_TYPE_IQ4_NL: - return true; - default: - return false; - }; - } - default: - return false; - } -} - -struct ggml_metal_encode_context { - ggml_backend_t backend; - - id encoder; - - struct ggml_mem_ranges * mem_ranges; -}; - -static bool ggml_metal_encode_concurrency_reset(struct ggml_metal_encode_context * ctx) { - if (!ctx->mem_ranges) { - return true; - } - - [ctx->encoder memoryBarrierWithScope:MTLBarrierScopeBuffers]; - - ggml_mem_ranges_reset(ctx->mem_ranges); - - return true; -} - -static bool ggml_metal_encode_concurrency_check(struct ggml_metal_encode_context * ctx, const struct ggml_tensor * node) { - if (!ctx->mem_ranges) { - return false; - } - - return ggml_mem_ranges_check(ctx->mem_ranges, node); -} - -static bool ggml_metal_encode_concurrency_add(struct ggml_metal_encode_context * ctx, const struct ggml_tensor * node) { - if (!ctx->mem_ranges) { - return true; - } - - return ggml_mem_ranges_add(ctx->mem_ranges, node); -} - -static int ggml_metal_encode_node(struct ggml_metal_encode_context * ctx_enc, int idx, int idx_end) { - ggml_backend_t backend = ctx_enc->backend; - - id encoder = ctx_enc->encoder; - - struct ggml_backend_metal_context * ctx = backend->context; - struct ggml_backend_metal_device_context * ctx_dev = backend->device->context; - - struct ggml_cgraph * gf = ctx->gf; - - enum ggml_op ops[8]; - - struct ggml_tensor ** nodes = ggml_graph_nodes(gf) + idx; - struct ggml_tensor * node = nodes[0]; - - //GGML_LOG_INFO("%s: encoding node %3d, op = %8s\n", __func__, idx, ggml_op_name(node->op)); - - struct ggml_tensor * src0 = node->src[0]; - struct ggml_tensor * src1 = node->src[1]; - struct ggml_tensor * src2 = node->src[2]; - struct ggml_tensor * dst = node; - - if (ggml_is_empty(dst)) { - return 1; - } - - switch (dst->op) { - case GGML_OP_NONE: - case GGML_OP_RESHAPE: - case GGML_OP_VIEW: - case GGML_OP_TRANSPOSE: - case GGML_OP_PERMUTE: - { - // noop -> next node - } return 1; - default: - { - } break; - } - - if (!ggml_metal_supports_op(ctx_dev, dst)) { - GGML_LOG_ERROR("%s: error: unsupported op '%s'\n", __func__, ggml_op_desc(dst)); - GGML_ABORT("unsupported op"); - } - - const int64_t ne00 = src0 ? src0->ne[0] : 0; - const int64_t ne01 = src0 ? src0->ne[1] : 0; - const int64_t ne02 = src0 ? src0->ne[2] : 0; - const int64_t ne03 = src0 ? src0->ne[3] : 0; - - const uint64_t nb00 = src0 ? src0->nb[0] : 0; - const uint64_t nb01 = src0 ? src0->nb[1] : 0; - const uint64_t nb02 = src0 ? src0->nb[2] : 0; - const uint64_t nb03 = src0 ? src0->nb[3] : 0; - - const int64_t ne10 = src1 ? src1->ne[0] : 0; - const int64_t ne11 = src1 ? src1->ne[1] : 0; - const int64_t ne12 = src1 ? src1->ne[2] : 0; - const int64_t ne13 = src1 ? src1->ne[3] : 0; - - const uint64_t nb10 = src1 ? src1->nb[0] : 0; - const uint64_t nb11 = src1 ? src1->nb[1] : 0; - const uint64_t nb12 = src1 ? src1->nb[2] : 0; - const uint64_t nb13 = src1 ? src1->nb[3] : 0; - - const int64_t ne20 = src2 ? src2->ne[0] : 0; - const int64_t ne21 = src2 ? src2->ne[1] : 0; - const int64_t ne22 = src2 ? src2->ne[2] : 0; GGML_UNUSED(ne22); - const int64_t ne23 = src2 ? src2->ne[3] : 0; GGML_UNUSED(ne23); - - const uint64_t nb20 = src2 ? src2->nb[0] : 0; GGML_UNUSED(nb20); - const uint64_t nb21 = src2 ? src2->nb[1] : 0; - const uint64_t nb22 = src2 ? src2->nb[2] : 0; - const uint64_t nb23 = src2 ? src2->nb[3] : 0; GGML_UNUSED(nb23); - - const int64_t ne0 = dst ? dst->ne[0] : 0; - const int64_t ne1 = dst ? dst->ne[1] : 0; - const int64_t ne2 = dst ? dst->ne[2] : 0; - const int64_t ne3 = dst ? dst->ne[3] : 0; - - const uint64_t nb0 = dst ? dst->nb[0] : 0; - const uint64_t nb1 = dst ? dst->nb[1] : 0; - const uint64_t nb2 = dst ? dst->nb[2] : 0; - const uint64_t nb3 = dst ? dst->nb[3] : 0; - - size_t offs_src[GGML_MAX_SRC]; - - id id_src[GGML_MAX_SRC]; - - enum ggml_type srct[GGML_MAX_SRC]; - - for (int i = 0; i < GGML_MAX_SRC; i++) { - offs_src[i] = 0; - id_src[i] = node->src[i] ? ggml_metal_get_buffer(node->src[i], &offs_src[i]) : nil; - srct[i] = node->src[i] ? node->src[i]->type : GGML_TYPE_COUNT; - } - - // TODO: tmp shorthands - remove - size_t offs_src0 = offs_src[0]; - size_t offs_src1 = offs_src[1]; - size_t offs_src2 = offs_src[2]; - - id id_src0 = id_src[0]; - id id_src1 = id_src[1]; - id id_src2 = id_src[2]; - - const enum ggml_type src0t = src0 ? src0->type : GGML_TYPE_COUNT; - const enum ggml_type src1t = src1 ? src1->type : GGML_TYPE_COUNT; - const enum ggml_type src2t = src2 ? src2->type : GGML_TYPE_COUNT; - const enum ggml_type dstt = dst ? dst->type : GGML_TYPE_COUNT; - - size_t offs_dst = 0; - - id id_dst = dst ? ggml_metal_get_buffer(dst, &offs_dst) : nil; - - int n_fuse = 1; - - // check if the current node can run concurrently with other nodes before it - // the condition is that: - // - the current node cannot write to any previous src or dst ranges - // - the current node cannot read from any previous dst ranges - // - // if the condition is not satisfied, we put a memory barrier and clear all ranges - // otherwise, we add the new ranges to the encoding context and process the node concurrently - // - { - const bool is_concurrent = ggml_metal_encode_concurrency_check(ctx_enc, node); - - if (!is_concurrent) { - ggml_metal_encode_concurrency_reset(ctx_enc); - } - - if (ctx_dev->debug_graph > 0) { - GGML_LOG_DEBUG("%s: node[%5d] - %-12s %s\n", __func__, idx, ggml_op_name(dst->op), is_concurrent ? "(concurrent)" : ""); - } - if (ctx_dev->debug_graph > 1) { - if (src0) { - GGML_LOG_DEBUG("%s: src0 - %4s [%5lld, %5lld, %5lld, %5lld] [%5lld, %5lld, %5lld, %5lld], %d, %s\n", __func__, ggml_type_name(src0t), ne00, ne01, ne02, ne03, nb00, nb01, nb02, nb03, - ggml_is_contiguous(src0), src0->name); - } - if (src1) { - GGML_LOG_DEBUG("%s: src1 - %4s [%5lld, %5lld, %5lld, %5lld] [%5lld, %5lld, %5lld, %5lld], %d, %s\n", __func__, ggml_type_name(src1t), ne10, ne11, ne12, ne13, nb10, nb11, nb12, nb13, - ggml_is_contiguous(src1), src1->name); - } - if (dst) { - GGML_LOG_DEBUG("%s: dst - %4s [%5lld, %5lld, %5lld, %5lld] [%5lld, %5lld, %5lld, %5lld], 1, %s\n", __func__, ggml_type_name(dstt), ne0, ne1, ne2, ne3, nb0, nb1, nb2, nb3, - dst->name); - } - } - } - - id device = ctx_dev->mtl_device; - - switch (dst->op) { - case GGML_OP_CONCAT: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CONCAT].pipeline; - - const int32_t dim = ((const int32_t *) dst->op_params)[0]; - - ggml_metal_kargs_concat args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne10 =*/ ne10, - /*.ne11 =*/ ne11, - /*.ne12 =*/ ne12, - /*.ne13 =*/ ne13, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - /*.dim =*/ dim, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:3]; - - const int nth = MIN(1024, ne0); - - [encoder dispatchThreadgroups:MTLSizeMake(ne1, ne2, ne3) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_ADD: - case GGML_OP_SUB: - case GGML_OP_MUL: - case GGML_OP_DIV: - { - GGML_ASSERT(src0t == GGML_TYPE_F32); - GGML_ASSERT(src1t == GGML_TYPE_F32); - - GGML_ASSERT(ggml_is_contiguous_rows(src0)); - GGML_ASSERT(ggml_is_contiguous_rows(src1)); - - const size_t offs = 0; - - bool bcast_row = false; - - ggml_metal_kargs_bin args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne10 =*/ ne10, - /*.ne11 =*/ ne11, - /*.ne12 =*/ ne12, - /*.ne13 =*/ ne13, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - /*.offs =*/ offs, - /*.o1 =*/ { offs_src1 }, - }; - - // c[0] = add(a, b[0]) - // c[1] = add(c[0], b[1]) - // c[2] = add(c[1], b[2]) - // ... - if (ctx_dev->use_fusion) { - ops[0] = GGML_OP_ADD; - ops[1] = GGML_OP_ADD; - ops[2] = GGML_OP_ADD; - ops[3] = GGML_OP_ADD; - ops[4] = GGML_OP_ADD; - ops[5] = GGML_OP_ADD; - ops[6] = GGML_OP_ADD; - ops[7] = GGML_OP_ADD; - - size_t offs_fuse; - id id_fuse; - - // note: in metal, we sometimes encode the graph in parallel so we have to avoid fusing nodes - // across splits. idx_end indicates the last node in the current split - for (n_fuse = 0; n_fuse <= 6 && idx + n_fuse + 1 < idx_end; ++n_fuse) { - if (!ggml_can_fuse(gf, idx + n_fuse, ops + n_fuse, 2)) { - break; - } - - if (nodes[n_fuse] != nodes[n_fuse + 1]->src[0]) { - break; - } - - // b[0] === b[1] === ... - if (!ggml_are_same_layout(nodes[n_fuse]->src[1], nodes[n_fuse + 1]->src[1])) { - break; - } - - // only fuse nodes if src1 is in the same Metal buffer - id_fuse = ggml_metal_get_buffer(nodes[n_fuse + 1]->src[1], &offs_fuse); - if (id_fuse != id_src1) { - break; - } - - ctx_dev->fuse_cnt[nodes[n_fuse + 1]->op]++; - - args.o1[n_fuse + 1] = offs_fuse; - } - - ++n_fuse; - - if (ctx_dev->debug_fusion > 1 && n_fuse > 1) { - GGML_LOG_DEBUG("%s: fuse: ADD x %d\n", __func__, n_fuse); - } - } - - id pipeline = nil; - - if (ggml_nelements(src1) == ne10 && ggml_is_contiguous(src1) && ne00 % 4 == 0 && ne10 % 4 == 0) { - GGML_ASSERT(ggml_is_contiguous(src0)); - - // src1 is a row - GGML_ASSERT(ne11 == 1); - - pipeline = ggml_metal_get_pipeline_bin(backend, dst->op, n_fuse, true); - - bcast_row = true; - } else { - pipeline = ggml_metal_get_pipeline_bin(backend, dst->op, n_fuse, false); - } - - if (n_fuse > 1) { - id_dst = ggml_metal_get_buffer(nodes[n_fuse - 1], &offs_dst); - - for (int i = 1; i < n_fuse; ++i) { - if (!ggml_metal_encode_concurrency_check(ctx_enc, nodes[i])) { - ggml_metal_encode_concurrency_reset(ctx_enc); - - break; - } - } - } - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:0 atIndex:2]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:3]; - - if (bcast_row) { - const int64_t n = ggml_nelements(dst)/4; - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } else { - int nth = 32; - - while (16*nth < ne0 && nth < (int) pipeline.maxTotalThreadsPerThreadgroup) { - nth *= 2; - } - - [encoder dispatchThreadgroups:MTLSizeMake(ne01, ne02, ne03) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } - } break; - case GGML_OP_ADD_ID: - { - GGML_ASSERT(src0t == GGML_TYPE_F32); - GGML_ASSERT(src1t == GGML_TYPE_F32); - GGML_ASSERT(src2t == GGML_TYPE_I32); - GGML_ASSERT(dstt == GGML_TYPE_F32); - - GGML_ASSERT(ggml_is_contiguous_rows(src0)); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ADD_ID].pipeline; - - ggml_metal_kargs_add_id args = { - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb11 =*/ nb11, - /*.nb21 =*/ nb21, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_src2 offset:offs_src2 atIndex:3]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:4]; - - const int nth = MIN((int) pipeline.maxTotalThreadsPerThreadgroup, ne00); - - [encoder dispatchThreadgroups:MTLSizeMake(ne01, ne02, 1) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_REPEAT: - { - id pipeline; - - switch (src0t) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_REPEAT_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_REPEAT_F16].pipeline; break; - case GGML_TYPE_I32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_REPEAT_I32].pipeline; break; - case GGML_TYPE_I16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_REPEAT_I16].pipeline; break; - default: GGML_ABORT("fatal error"); - } - - ggml_metal_kargs_repeat args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:2]; - - const int nth = MIN((int) pipeline.maxTotalThreadsPerThreadgroup, ne0); - - [encoder dispatchThreadgroups:MTLSizeMake(ne1, ne2, ne3) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_ACC: - { - GGML_ASSERT(src0t == GGML_TYPE_F32); - GGML_ASSERT(src1t == GGML_TYPE_F32); - GGML_ASSERT(dstt == GGML_TYPE_F32); - - GGML_ASSERT(ggml_is_contiguous(src0)); - GGML_ASSERT(ggml_is_contiguous(src1)); - - const size_t pnb1 = ((const int32_t *) dst->op_params)[0]; - const size_t pnb2 = ((const int32_t *) dst->op_params)[1]; - const size_t pnb3 = ((const int32_t *) dst->op_params)[2]; - const size_t offs = ((const int32_t *) dst->op_params)[3]; - - const bool inplace = (bool) ((const int32_t *) dst->op_params)[4]; - - if (!inplace) { - // run a separete kernel to cpy src->dst - // not sure how to avoid this - // TODO: make a simpler cpy_bytes kernel - - const id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_F32].pipeline; - - ggml_metal_kargs_cpy args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:2]; - - const int nth = MIN((int) pipeline.maxTotalThreadsPerThreadgroup, ne00); - - [encoder dispatchThreadgroups:MTLSizeMake(ne01, ne02, ne03) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - - ggml_metal_encode_concurrency_reset(ctx_enc); - } - - ggml_metal_kargs_bin args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ pnb1, - /*.nb02 =*/ pnb2, - /*.nb03 =*/ pnb3, - /*.ne10 =*/ ne10, - /*.ne11 =*/ ne11, - /*.ne12 =*/ ne12, - /*.ne13 =*/ ne13, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ pnb1, - /*.nb2 =*/ pnb2, - /*.nb3 =*/ pnb3, - /*.offs =*/ offs, - /*.o1 =*/ { offs_src1}, - }; - - //const id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ADD].pipeline; - const id pipeline = ggml_metal_get_pipeline_bin(backend, GGML_OP_ADD, 1, false); - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:0 atIndex:2]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:3]; - - const int nth = MIN((int) pipeline.maxTotalThreadsPerThreadgroup, ne00); - - [encoder dispatchThreadgroups:MTLSizeMake(ne11, ne12, ne13) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_SCALE: - { - GGML_ASSERT(ggml_is_contiguous(src0)); - - float scale; - float bias; - memcpy(&scale, ((const int32_t *) dst->op_params) + 0, sizeof(float)); - memcpy(&bias, ((const int32_t *) dst->op_params) + 1, sizeof(float)); - - int64_t n = ggml_nelements(dst); - - id pipeline = nil; - - if (n % 4 == 0) { - n /= 4; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SCALE_4].pipeline; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SCALE].pipeline; - } - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&scale length:sizeof(scale) atIndex:2]; - [encoder setBytes:&bias length:sizeof(bias) atIndex:3]; - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_OP_CLAMP: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CLAMP].pipeline; - - float min; - float max; - memcpy(&min, ((const int32_t *) dst->op_params) + 0, sizeof(float)); - memcpy(&max, ((const int32_t *) dst->op_params) + 1, sizeof(float)); - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&min length:sizeof(min) atIndex:2]; - [encoder setBytes:&max length:sizeof(max) atIndex:3]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_OP_UNARY: - switch (ggml_get_unary_op(node)) { - // we are not taking into account the strides, so for now require contiguous tensors - GGML_ASSERT(ggml_is_contiguous(src0)); - - case GGML_UNARY_OP_TANH: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_TANH].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_RELU: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_RELU].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_SIGMOID: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SIGMOID].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_GELU: - { - int64_t n = ggml_nelements(dst); - - id pipeline = nil; - - if (n % 4 == 0) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GELU_4].pipeline; - n /= 4; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GELU].pipeline; - } - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_GELU_ERF: - { - int64_t n = ggml_nelements(dst); - - id pipeline = nil; - - if (n % 4 == 0) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GELU_ERF_4].pipeline; - n /= 4; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GELU_ERF].pipeline; - } - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_GELU_QUICK: - { - int64_t n = ggml_nelements(dst); - - id pipeline = nil; - - if (n % 4 == 0) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GELU_QUICK_4].pipeline; - n /= 4; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GELU_QUICK].pipeline; - } - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_SILU: - { - int64_t n = ggml_nelements(dst); - - id pipeline = nil; - - if (n % 4 == 0) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SILU_4].pipeline; - n /= 4; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SILU].pipeline; - } - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_ELU: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ELU].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_NEG: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_NEG].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_ABS: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ABS].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_SGN: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SGN].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_STEP: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_STEP].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_HARDSWISH: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_HARDSWISH].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_HARDSIGMOID: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_HARDSIGMOID].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_UNARY_OP_EXP: - { - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_EXP].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - default: - { - GGML_LOG_WARN("%s: node %3d, op = %8s not implemented\n", __func__, idx, ggml_op_name(dst->op)); - GGML_ABORT("fatal error"); - } - } break; - case GGML_OP_GLU: - { - GGML_ASSERT(ggml_is_contiguous_1(src0)); - - if (src1) { - GGML_ASSERT(ggml_are_same_shape(src0, src1)); - } - - id pipeline = nil; - - switch (ggml_get_glu_op(node)) { - case GGML_GLU_OP_REGLU: - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_REGLU].pipeline; - break; - case GGML_GLU_OP_GEGLU: - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GEGLU].pipeline; - break; - case GGML_GLU_OP_SWIGLU: - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SWIGLU].pipeline; - break; - case GGML_GLU_OP_SWIGLU_OAI: - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SWIGLU_OAI].pipeline; - break; - case GGML_GLU_OP_GEGLU_ERF: - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GEGLU_ERF].pipeline; - break; - case GGML_GLU_OP_GEGLU_QUICK: - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GEGLU_QUICK].pipeline; - break; - default: - GGML_ABORT("fatal error"); - } - - const int32_t swp = ggml_get_op_params_i32(dst, 1); - const float alpha = ggml_get_op_params_f32(dst, 2); - const float limit = ggml_get_op_params_f32(dst, 3); - - const int32_t i00 = swp ? ne0 : 0; - const int32_t i10 = swp ? 0 : ne0; - - ggml_metal_kargs_glu args = { - /*.ne00 =*/ ne00, - /*.nb01 =*/ nb01, - /*.ne10 =*/ src1 ? ne10 : ne00, - /*.nb11 =*/ src1 ? nb11 : nb01, - /*.ne0 =*/ ne0, - /*.nb1 =*/ nb1, - /*.i00 =*/ src1 ? 0 : i00, - /*.i10 =*/ src1 ? 0 : i10, - /*.alpha=*/ alpha, - /*.limit=*/ limit - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - if (src1) { - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:1]; - } else { - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - } - [encoder setBuffer:id_dst offset:offs_dst atIndex:2]; - [encoder setBytes:&args length:sizeof(args) atIndex:3]; - - const int64_t nrows = ggml_nrows(src0); - - const int32_t nth = MIN((int) pipeline.maxTotalThreadsPerThreadgroup, ne00/2); - - [encoder dispatchThreadgroups:MTLSizeMake(nrows, 1, 1) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_SQR: - { - GGML_ASSERT(ggml_is_contiguous(src0)); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SQR].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_OP_SQRT: - { - GGML_ASSERT(ggml_is_contiguous(src0)); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SQRT].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_OP_SIN: - { - GGML_ASSERT(ggml_is_contiguous(src0)); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SIN].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_OP_COS: - { - GGML_ASSERT(ggml_is_contiguous(src0)); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_COS].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_OP_SUM_ROWS: - case GGML_OP_MEAN: - { - GGML_ASSERT(src0->nb[0] == ggml_type_size(src0->type)); - - id pipeline = nil; - - switch (dst->op) { - case GGML_OP_SUM_ROWS: - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SUM_ROWS].pipeline; - break; - case GGML_OP_MEAN: - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MEAN].pipeline; - break; - default: - GGML_ABORT("fatal error"); - } - - int nth = 32; // SIMD width - - while (nth < ne00 && nth < (int) pipeline.maxTotalThreadsPerThreadgroup) { - nth *= 2; - } - - nth = MIN(nth, (int) pipeline.maxTotalThreadsPerThreadgroup); - nth = MIN(nth, ne00); - - ggml_metal_kargs_sum_rows args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne10 =*/ ne10, - /*.ne11 =*/ ne11, - /*.ne12 =*/ ne12, - /*.ne13 =*/ ne13, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:2]; - [encoder setThreadgroupMemoryLength:32*sizeof(float) atIndex:0]; - - [encoder dispatchThreadgroups:MTLSizeMake(ne01, ne02, ne03) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_SOFT_MAX: - { - GGML_ASSERT(!src1 || src1->type == GGML_TYPE_F16 || src1->type == GGML_TYPE_F32); - - int nth = 32; // SIMD width - - id pipeline = nil; - - const bool use_f16 = (src1 && src1->type == GGML_TYPE_F16); - - if (ne00%4 == 0) { - while (nth < ne00/4 && nth*ne01*ne02*ne03 < 256) { - nth *= 2; - } - if (use_f16) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SOFT_MAX_F16_4].pipeline; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SOFT_MAX_F32_4].pipeline; - } - } else { - while (nth < ne00 && nth*ne01*ne02*ne03 < 256) { - nth *= 2; - } - if (use_f16) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SOFT_MAX_F16].pipeline; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SOFT_MAX_F32].pipeline; - } - } - - float scale; - float max_bias; - - memcpy(&scale, ((const int32_t *) dst->op_params) + 0, sizeof(scale)); - memcpy(&max_bias, ((const int32_t *) dst->op_params) + 1, sizeof(max_bias)); - - const uint32_t n_head = src0->ne[2]; - const uint32_t n_head_log2 = 1u << (uint32_t) floorf(log2f((float) n_head)); - - const float m0 = powf(2.0f, -(max_bias ) / n_head_log2); - const float m1 = powf(2.0f, -(max_bias / 2.0f) / n_head_log2); - - id h_src0 = id_src0; - - // softmax - - ggml_metal_kargs_soft_max args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne11 =*/ ne11, - /*.ne12 =*/ ne12, - /*.ne13 =*/ ne13, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - /*.scale =*/ scale, - /*.max_bias =*/ max_bias, - /*.m0 =*/ m0, - /*.m1 =*/ m1, - /*.n_head_log2 =*/ n_head_log2, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:h_src0 offset:offs_src0 atIndex:0]; - if (id_src1) { - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:1]; - } else { - [encoder setBuffer:h_src0 offset:offs_src0 atIndex:1]; - } - if (id_src2) { - [encoder setBuffer:id_src2 offset:offs_src2 atIndex:2]; - } else { - [encoder setBuffer:h_src0 offset:offs_src0 atIndex:2]; - } - [encoder setBuffer:id_dst offset:offs_dst atIndex:3]; - [encoder setBytes:&args length:sizeof(args) atIndex:4]; - - [encoder setThreadgroupMemoryLength:32*sizeof(float) atIndex:0]; - - [encoder dispatchThreadgroups:MTLSizeMake(ne01, ne02, ne03) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_DIAG_MASK_INF: - { - const int n_past = ((const int32_t *)(dst->op_params))[0]; - - id pipeline = nil; - - if (ne00%8 == 0) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_DIAG_MASK_INF_8].pipeline; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_DIAG_MASK_INF].pipeline; - } - - ggml_metal_kargs_diag_mask_inf args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.n_past =*/ n_past, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&args length:sizeof(args) atIndex:2]; - - if (ne00%8 == 0) { - [encoder dispatchThreadgroups:MTLSizeMake(ne00*ne01*ne02/8, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } - else { - [encoder dispatchThreadgroups:MTLSizeMake(ne00, ne01, ne02) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } - } break; - case GGML_OP_SSM_CONV: - { - GGML_ASSERT(src0t == GGML_TYPE_F32); - GGML_ASSERT(src1t == GGML_TYPE_F32); - - GGML_ASSERT(ggml_is_contiguous(src0)); - GGML_ASSERT(ggml_is_contiguous(src1)); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SSM_CONV_F32].pipeline; - - ggml_metal_kargs_ssm_conv args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.ne10 =*/ ne10, - /*.ne11 =*/ ne11, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:1]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:2]; - [encoder setBytes:&args length:sizeof(args) atIndex:3]; - - [encoder dispatchThreadgroups:MTLSizeMake(ne01, ne1, ne02) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_OP_SSM_SCAN: - { - struct ggml_tensor * src3 = node->src[3]; - struct ggml_tensor * src4 = node->src[4]; - struct ggml_tensor * src5 = node->src[5]; - struct ggml_tensor * src6 = node->src[6]; - - GGML_ASSERT(src3); - GGML_ASSERT(src4); - GGML_ASSERT(src5); - GGML_ASSERT(src6); - - size_t offs_src3 = 0; - size_t offs_src4 = 0; - size_t offs_src5 = 0; - size_t offs_src6 = 0; - - id id_src3 = src3 ? ggml_metal_get_buffer(src3, &offs_src3) : nil; - id id_src4 = src4 ? ggml_metal_get_buffer(src4, &offs_src4) : nil; - id id_src5 = src5 ? ggml_metal_get_buffer(src5, &offs_src5) : nil; - id id_src6 = src6 ? ggml_metal_get_buffer(src6, &offs_src6) : nil; - - const int64_t ne30 = src3->ne[0]; - const int64_t ne31 = src3->ne[1]; GGML_UNUSED(ne31); - - const uint64_t nb30 = src3->nb[0]; GGML_UNUSED(nb30); - const uint64_t nb31 = src3->nb[1]; - - const int64_t ne40 = src4->ne[0]; GGML_UNUSED(ne40); - const int64_t ne41 = src4->ne[1]; - const int64_t ne42 = src4->ne[2]; GGML_UNUSED(ne42); - const int64_t ne43 = src4->ne[3]; GGML_UNUSED(ne43); - - const uint64_t nb40 = src4->nb[0]; GGML_UNUSED(nb40); - const uint64_t nb41 = src4->nb[1]; - const uint64_t nb42 = src4->nb[2]; - const uint64_t nb43 = src4->nb[3]; - - const int64_t ne50 = src5->ne[0]; GGML_UNUSED(ne50); - const int64_t ne51 = src5->ne[1]; GGML_UNUSED(ne51); - const int64_t ne52 = src5->ne[2]; GGML_UNUSED(ne52); - const int64_t ne53 = src5->ne[3]; GGML_UNUSED(ne53); - - const uint64_t nb50 = src5->nb[0]; GGML_UNUSED(nb50); - const uint64_t nb51 = src5->nb[1]; - const uint64_t nb52 = src5->nb[2]; - const uint64_t nb53 = src5->nb[3]; - - const int64_t ne60 = src6->ne[0]; GGML_UNUSED(ne60); - - const uint64_t nb60 = src6->nb[0]; GGML_UNUSED(nb60); - - const int64_t d_state = ne00; - const int64_t d_inner = ne01; - const int64_t n_head = ne02; - const int64_t n_group = ne41; - const int64_t n_seq_tokens = ne12; - const int64_t n_seqs = ne13; - - id pipeline = nil; - - if (ne30 == 1) { - // Mamba-2 - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SSM_SCAN_F32_GROUP].pipeline; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SSM_SCAN_F32].pipeline; - } - - ggml_metal_kargs_ssm_scan args = { - /*.d_state =*/ d_state, - /*.d_inner =*/ d_inner, - /*.n_head =*/ n_head, - /*.n_group =*/ n_group, - /*.n_seq_tokens =*/ n_seq_tokens, - /*.n_seqs =*/ n_seqs, - /*.s_off =*/ ggml_nelements(src1) * sizeof(float), - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.nb21 =*/ nb21, - /*.nb22 =*/ nb22, - /*.nb31 =*/ nb31, - /*.nb41 =*/ nb41, - /*.nb42 =*/ nb42, - /*.nb43 =*/ nb43, - /*.nb51 =*/ nb51, - /*.nb52 =*/ nb52, - /*.nb53 =*/ nb53, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:1]; - [encoder setBuffer:id_src2 offset:offs_src2 atIndex:2]; - [encoder setBuffer:id_src3 offset:offs_src3 atIndex:3]; - [encoder setBuffer:id_src4 offset:offs_src4 atIndex:4]; - [encoder setBuffer:id_src5 offset:offs_src5 atIndex:5]; - [encoder setBuffer:id_src6 offset:offs_src6 atIndex:6]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:7]; - [encoder setBytes:&args length:sizeof(args) atIndex:8]; - - // One shared memory bucket for each simd group in the threadgroup - // NOTE: Metal kernels require the buffer size to be multiple of 16 bytes - // https://developer.apple.com/documentation/metal/mtlcomputecommandencoder/1443142-setthreadgroupmemorylength - if (d_state >= 32) { - GGML_ASSERT((int64_t)(d_state / 32) <= 32); - const int64_t shmem_size = 32; - GGML_ASSERT(d_state <= (int64_t)pipeline.maxTotalThreadsPerThreadgroup); - [encoder setThreadgroupMemoryLength:(shmem_size)*sizeof(float) atIndex:0]; - } - - if (ne30 == 1) { - // Mamba-2 - [encoder dispatchThreadgroups:MTLSizeMake(d_inner, n_head, n_seqs) threadsPerThreadgroup:MTLSizeMake(d_state, 1, 1)]; - } else { - GGML_ASSERT(d_inner == 1); - [encoder dispatchThreadgroups:MTLSizeMake(n_head, n_seqs, 1) threadsPerThreadgroup:MTLSizeMake(d_state, 1, 1)]; - } - } break; - case GGML_OP_RWKV_WKV6: - { - const int64_t B = dst->src[5]->ne[1]; - const int64_t T = dst->src[0]->ne[2]; - const int64_t C = dst->ne[0]; - const int64_t H = dst->src[0]->ne[1]; - - GGML_ASSERT(dst->src[5]->type == GGML_TYPE_F32); - GGML_ASSERT(C % H == 0); - GGML_ASSERT(C / H == 64); - - size_t offs_src3 = 0; - size_t offs_src4 = 0; - size_t offs_src5 = 0; - - id id_src3 = dst->src[3] ? ggml_metal_get_buffer(dst->src[3], &offs_src3) : nil; - id id_src4 = dst->src[4] ? ggml_metal_get_buffer(dst->src[4], &offs_src4) : nil; - id id_src5 = dst->src[5] ? ggml_metal_get_buffer(dst->src[5], &offs_src5) : nil; - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_RWKV_WKV6_F32].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:1]; - [encoder setBuffer:id_src2 offset:offs_src2 atIndex:2]; - [encoder setBuffer:id_src3 offset:offs_src3 atIndex:3]; - [encoder setBuffer:id_src4 offset:offs_src4 atIndex:4]; - [encoder setBuffer:id_src5 offset:offs_src5 atIndex:5]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:6]; - - [encoder setBytes:&B length:sizeof(B) atIndex:7]; - [encoder setBytes:&T length:sizeof(T) atIndex:8]; - [encoder setBytes:&C length:sizeof(C) atIndex:9]; - [encoder setBytes:&H length:sizeof(H) atIndex:10]; - - [encoder dispatchThreadgroups:MTLSizeMake(B * H, 1, 1) threadsPerThreadgroup:MTLSizeMake(C/ H, 1, 1)]; - } break; - case GGML_OP_RWKV_WKV7: - { - const int64_t B = dst->src[6]->ne[1]; - const int64_t T = dst->src[0]->ne[2]; - const int64_t C = dst->ne[0]; - const int64_t H = dst->src[0]->ne[1]; - - GGML_ASSERT(dst->src[6]->type == GGML_TYPE_F32); - GGML_ASSERT(C % H == 0); - GGML_ASSERT(C / H == 64); - - size_t offs_src3 = 0; - size_t offs_src4 = 0; - size_t offs_src5 = 0; - size_t offs_src6 = 0; - - id id_src3 = dst->src[3] ? ggml_metal_get_buffer(dst->src[3], &offs_src3) : nil; - id id_src4 = dst->src[4] ? ggml_metal_get_buffer(dst->src[4], &offs_src4) : nil; - id id_src5 = dst->src[5] ? ggml_metal_get_buffer(dst->src[5], &offs_src5) : nil; - id id_src6 = dst->src[6] ? ggml_metal_get_buffer(dst->src[6], &offs_src6) : nil; - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_RWKV_WKV7_F32].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:1]; - [encoder setBuffer:id_src2 offset:offs_src2 atIndex:2]; - [encoder setBuffer:id_src3 offset:offs_src3 atIndex:3]; - [encoder setBuffer:id_src4 offset:offs_src4 atIndex:4]; - [encoder setBuffer:id_src5 offset:offs_src5 atIndex:5]; - [encoder setBuffer:id_src6 offset:offs_src6 atIndex:6]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:7]; - - [encoder setBytes:&B length:sizeof(B) atIndex:8]; - [encoder setBytes:&T length:sizeof(T) atIndex:9]; - [encoder setBytes:&C length:sizeof(C) atIndex:10]; - [encoder setBytes:&H length:sizeof(H) atIndex:11]; - - [encoder dispatchThreadgroups:MTLSizeMake(B * H, 1, 1) threadsPerThreadgroup:MTLSizeMake(C/ H, 1, 1)]; - } break; - case GGML_OP_MUL_MAT: - { - GGML_ASSERT(ne00 == ne10); - - GGML_ASSERT(ne12 % ne02 == 0); - GGML_ASSERT(ne13 % ne03 == 0); - - const uint32_t r2 = ne12/ne02; - const uint32_t r3 = ne13/ne03; - - // find the break-even point where the matrix-matrix kernel becomes more efficient compared - // to the matrix-vector kernel - const int ne11_mm_min = 8; - - // first try to use small-batch mat-mv kernels - // these should be efficient for BS [2, ~8] - if (src1t == GGML_TYPE_F32 && (ne00%128 == 0) && - ( - ( - ( - src0t == GGML_TYPE_F32 || // TODO: helper function - src0t == GGML_TYPE_F16 || - src0t == GGML_TYPE_Q4_0 || - src0t == GGML_TYPE_Q4_1 || - src0t == GGML_TYPE_Q5_0 || - src0t == GGML_TYPE_Q5_1 || - src0t == GGML_TYPE_Q8_0 || - src0t == GGML_TYPE_MXFP4 || - src0t == GGML_TYPE_IQ4_NL || - false) && (ne11 >= 2 && ne11 <= 8) - ) || - ( - ( - src0t == GGML_TYPE_Q4_K || - src0t == GGML_TYPE_Q5_K || - src0t == GGML_TYPE_Q6_K || - false) && (ne11 >= 4 && ne11 <= 8) - ) - ) - ) { - // TODO: determine the optimal parameters based on grid utilization - // I still don't know why we should not always use the maximum available threads: - // - // nsg = pipeline.maxTotalThreadsPerThreadgroup / 32 - // - // my current hypothesis is that the work grid is not evenly divisible for different nsg - // values and there can be some tail effects when nsg is high. need to confirm this - // - const int nsg = 2; // num simdgroups per threadgroup - - // num threads along row per simdgroup - int nxpsg = 0; - if (ne00 % 256 == 0 && ne11 < 3) { - nxpsg = 16; - } else if (ne00 % 128 == 0) { - nxpsg = 8; - } else { - nxpsg = 4; - } - - const int nypsg = 32/nxpsg; // num threads along col per simdgroup (i.e. a simdgroup processes that many src0 rows at a time) - const int r0ptg = nypsg*nsg; // num src0 rows per threadgroup - int r1ptg = 4; // num src1 rows per threadgroup - - // note: not sure how optimal are those across all different hardware. there might be someting cleverer - switch (ne11) { - case 2: - r1ptg = 2; break; - case 3: - case 6: - r1ptg = 3; break; - case 4: - case 7: - case 8: - r1ptg = 4; break; - case 5: - r1ptg = 5; break; - }; - - id pipeline = nil; - - switch (src0->type) { - case GGML_TYPE_F32: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F32_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_F16: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_F16_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_Q4_0: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_0_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_Q4_1: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_1_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_Q5_0: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_0_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_Q5_1: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_1_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_Q8_0: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q8_0_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_MXFP4: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_MXFP4_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_Q4_K: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q4_K_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_Q5_K: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q5_K_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_Q6_K: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_Q6_K_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - case GGML_TYPE_IQ4_NL: - switch (r1ptg) { - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_2].pipeline; break; - case 3: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_3].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_4].pipeline; break; - case 5: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_EXT_IQ4_NL_F32_R1_5].pipeline; break; - default: GGML_ABORT("not implemented"); - } break; - default: GGML_ABORT("not implemented"); - } - - ggml_metal_kargs_mul_mv_ext args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne10 =*/ ne10, - /*.ne11 =*/ ne11, - /*.ne12 =*/ ne12, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.r2 =*/ r2, - /*.r3 =*/ r3, - /*.nsg =*/ nsg, - /*.nxpsg =*/ nxpsg, - /*.r1ptg =*/ r1ptg, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:3]; - - //printf("ne01 = %lld nr0ptg = %d\n", ne01, nr0ptg); - [encoder dispatchThreadgroups:MTLSizeMake((ne01 + r0ptg - 1)/r0ptg, (ne11 + r1ptg - 1)/r1ptg, ne12*ne13) threadsPerThreadgroup:MTLSizeMake(32, nsg, 1)]; - } else - // for now the matrix-matrix multiplication kernel only works on A14+/M1+ SoCs - // AMD GPU and older A-chips will reuse matrix-vector multiplication kernel - if ([device supportsFamily:MTLGPUFamilyApple7] && - !ggml_is_transposed(src0) && - !ggml_is_transposed(src1) && - src1t == GGML_TYPE_F32 && - ne00 % 32 == 0 && ne00 >= 64 && - (ne11 > ne11_mm_min || (ggml_is_quantized(src0t) && ne12 > 1))) { - //printf("matrix: ne00 = %6d, ne01 = %6d, ne02 = %6d, ne11 = %6d, ne12 = %6d\n", ne00, ne01, ne02, ne11, ne12); - - // some Metal matrix data types require aligned pointers - // ref: https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf (Table 2.5) - switch (src0->type) { - case GGML_TYPE_F32: GGML_ASSERT(nb01 % 16 == 0); break; - case GGML_TYPE_F16: GGML_ASSERT(nb01 % 8 == 0); break; - case GGML_TYPE_BF16: GGML_ASSERT(nb01 % 8 == 0); break; - default: break; - } - - id pipeline = nil; - - switch (src0->type) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_F32_F32 ].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_F16_F32 ].pipeline; break; - case GGML_TYPE_BF16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_BF16_F32 ].pipeline; break; - case GGML_TYPE_Q4_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_Q4_0_F32 ].pipeline; break; - case GGML_TYPE_Q4_1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_Q4_1_F32 ].pipeline; break; - case GGML_TYPE_Q5_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_Q5_0_F32 ].pipeline; break; - case GGML_TYPE_Q5_1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_Q5_1_F32 ].pipeline; break; - case GGML_TYPE_Q8_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_Q8_0_F32 ].pipeline; break; - case GGML_TYPE_MXFP4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_MXFP4_F32 ].pipeline; break; - case GGML_TYPE_Q2_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_Q2_K_F32 ].pipeline; break; - case GGML_TYPE_Q3_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_Q3_K_F32 ].pipeline; break; - case GGML_TYPE_Q4_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_Q4_K_F32 ].pipeline; break; - case GGML_TYPE_Q5_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_Q5_K_F32 ].pipeline; break; - case GGML_TYPE_Q6_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_Q6_K_F32 ].pipeline; break; - case GGML_TYPE_IQ2_XXS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_IQ2_XXS_F32].pipeline; break; - case GGML_TYPE_IQ2_XS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_IQ2_XS_F32 ].pipeline; break; - case GGML_TYPE_IQ3_XXS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_IQ3_XXS_F32].pipeline; break; - case GGML_TYPE_IQ3_S: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_IQ3_S_F32 ].pipeline; break; - case GGML_TYPE_IQ2_S: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_IQ2_S_F32 ].pipeline; break; - case GGML_TYPE_IQ1_S: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_IQ1_S_F32 ].pipeline; break; - case GGML_TYPE_IQ1_M: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_IQ1_M_F32 ].pipeline; break; - case GGML_TYPE_IQ4_NL: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_IQ4_NL_F32 ].pipeline; break; - case GGML_TYPE_IQ4_XS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_IQ4_XS_F32 ].pipeline; break; - default: GGML_ABORT("MUL MAT-MAT not implemented"); - } - - ggml_metal_kargs_mul_mm args = { - /*.ne00 =*/ ne00, - /*.ne02 =*/ ne02, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne12 =*/ ne12, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.r2 =*/ r2, - /*.r3 =*/ r3, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:3]; - - [encoder setThreadgroupMemoryLength:8192 atIndex:0]; - [encoder dispatchThreadgroups:MTLSizeMake((ne11 + 31)/32, (ne01 + 63)/64, ne12*ne13) threadsPerThreadgroup:MTLSizeMake(128, 1, 1)]; - } else { - id pipeline = nil; - - int nsg = 0; // number of simdgroups - int nr0 = 0; // number of src0 rows per simdgroup - int nr1 = 1; // number of src1 rows per threadgroup - - size_t smem = 0; // shared memory - - // use custom matrix x vector kernel - switch (src0t) { - case GGML_TYPE_F32: - { - GGML_ASSERT(src1t == GGML_TYPE_F32); - nsg = 1; - nr0 = 1; - nr1 = 4; - if (ne00 == 4) { - nr0 = 32; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_F32_F32_C4].pipeline; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_F32_F32].pipeline; - } - } break; - case GGML_TYPE_F16: - { - nsg = 1; - nr0 = 1; - if (src1t == GGML_TYPE_F32) { - if (ne00 == 4) { - nr0 = 32; - nr1 = 4; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32_C4].pipeline; - } else if (ne11 * ne12 < 4) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32_1ROW].pipeline; - } else if (ne00 >= 128 && ne01 >= 8 && ne00%4 == 0) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32_L4].pipeline; - nr1 = ne11; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F32].pipeline; - nr1 = 4; - } - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_F16_F16].pipeline; - nr1 = 4; - } - } break; - case GGML_TYPE_BF16: - { - nsg = 1; - nr0 = 1; - if (src1t == GGML_TYPE_F32) { - if (ne00 == 4) { - nr0 = 32; - nr1 = 4; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32_C4].pipeline; - } else if (ne11 * ne12 < 4) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32_1ROW].pipeline; - } else if (ne00 >= 128 && ne01 >= 8 && ne00%4 == 0) { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32_L4].pipeline; - nr1 = ne11; - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_F32].pipeline; - nr1 = 4; - } - } else { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_BF16_BF16].pipeline; - nr1 = 4; - } - } break; - case GGML_TYPE_Q4_0: - { - nsg = N_SG_Q4_0; - nr0 = N_R0_Q4_0; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_Q4_0_F32].pipeline; - } break; - case GGML_TYPE_Q4_1: - { - nsg = N_SG_Q4_1; - nr0 = N_R0_Q4_1; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_Q4_1_F32].pipeline; - } break; - case GGML_TYPE_Q5_0: - { - nsg = N_SG_Q5_0; - nr0 = N_R0_Q5_0; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_Q5_0_F32].pipeline; - } break; - case GGML_TYPE_Q5_1: - { - nsg = N_SG_Q5_1; - nr0 = N_R0_Q5_1; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_Q5_1_F32].pipeline; - } break; - case GGML_TYPE_Q8_0: - { - nsg = N_SG_Q8_0; - nr0 = N_R0_Q8_0; - smem = 32*sizeof(float)*N_R0_Q8_0; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_Q8_0_F32].pipeline; - } break; - case GGML_TYPE_MXFP4: - { - nsg = N_SG_MXFP4; - nr0 = N_R0_MXFP4; - smem = 32*sizeof(float); - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_MXFP4_F32].pipeline; - } break; - case GGML_TYPE_Q2_K: - { - nsg = N_SG_Q2_K; - nr0 = N_R0_Q2_K; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_Q2_K_F32].pipeline; - } break; - case GGML_TYPE_Q3_K: - { - nsg = N_SG_Q3_K; - nr0 = N_R0_Q3_K; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_Q3_K_F32].pipeline; - } break; - case GGML_TYPE_Q4_K: - { - nsg = N_SG_Q4_K; - nr0 = N_R0_Q4_K; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_Q4_K_F32].pipeline; - } break; - case GGML_TYPE_Q5_K: - { - nsg = N_SG_Q5_K; - nr0 = N_R0_Q5_K; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_Q5_K_F32].pipeline; - } break; - case GGML_TYPE_Q6_K: - { - nsg = N_SG_Q6_K; - nr0 = N_R0_Q6_K; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_Q6_K_F32].pipeline; - } break; - case GGML_TYPE_IQ2_XXS: - { - nsg = N_SG_IQ2_XXS; - nr0 = N_R0_IQ2_XXS; - smem = 256*8+128; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_IQ2_XXS_F32].pipeline; - } break; - case GGML_TYPE_IQ2_XS: - { - nsg = N_SG_IQ2_XS; - nr0 = N_R0_IQ2_XS; - smem = 512*8+128; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_IQ2_XS_F32].pipeline; - } break; - case GGML_TYPE_IQ3_XXS: - { - nsg = N_SG_IQ3_XXS; - nr0 = N_R0_IQ3_XXS; - smem = 256*4+128; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_IQ3_XXS_F32].pipeline; - } break; - case GGML_TYPE_IQ3_S: - { - nsg = N_SG_IQ3_S; - nr0 = N_R0_IQ3_S; - smem = 512*4; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_IQ3_S_F32].pipeline; - } break; - case GGML_TYPE_IQ2_S: - { - nsg = N_SG_IQ2_S; - nr0 = N_R0_IQ2_S; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_IQ2_S_F32].pipeline; - } break; - case GGML_TYPE_IQ1_S: - { - nsg = N_SG_IQ1_S; - nr0 = N_R0_IQ1_S; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_IQ1_S_F32].pipeline; - } break; - case GGML_TYPE_IQ1_M: - { - nsg = N_SG_IQ1_M; - nr0 = N_R0_IQ1_M; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_IQ1_M_F32].pipeline; - } break; - case GGML_TYPE_IQ4_NL: - { - nsg = N_SG_IQ4_NL; - nr0 = N_R0_IQ4_NL; - smem = 32*sizeof(float); - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_IQ4_NL_F32].pipeline; - } break; - case GGML_TYPE_IQ4_XS: - { - nsg = N_SG_IQ4_XS; - nr0 = N_R0_IQ4_XS; - smem = 32*sizeof(float); - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_IQ4_XS_F32].pipeline; - } break; - default: - { - GGML_LOG_ERROR("Asserting on type %d\n", (int)src0t); - GGML_ABORT("not implemented"); - } - }; - - ggml_metal_kargs_mul_mv args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne10 =*/ ne10, - /*.ne11 =*/ ne11, - /*.ne12 =*/ ne12, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.r2 =*/ r2, - /*.r3 =*/ r3, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:3]; - - if (smem > 0) { - [encoder setThreadgroupMemoryLength:smem atIndex:0]; - } - - if (src0t == GGML_TYPE_Q8_0) { - [encoder dispatchThreadgroups:MTLSizeMake((ne01 + nr0 - 1)/(nr0), (ne11 + nr1 - 1)/nr1, ne12*ne13) threadsPerThreadgroup:MTLSizeMake(32, nsg, 1)]; - } else { - [encoder dispatchThreadgroups:MTLSizeMake((ne01 + nr0*nsg - 1)/(nr0*nsg), (ne11 + nr1 - 1)/nr1, ne12*ne13) threadsPerThreadgroup:MTLSizeMake(32, nsg, 1)]; - } - } - } break; - case GGML_OP_MUL_MAT_ID: - { - // src2 = ids - GGML_ASSERT(src2t == GGML_TYPE_I32); - - GGML_ASSERT(!ggml_is_transposed(src0)); - GGML_ASSERT(!ggml_is_transposed(src1)); - - GGML_ASSERT(src1t == GGML_TYPE_F32); - - GGML_ASSERT(ne03 == 1); - GGML_ASSERT(ne13 == 1); - - const uint32_t r2 = 1; - const uint32_t r3 = 1; - - // find the break-even point where the matrix-matrix kernel becomes more efficient compared - // to the matrix-vector kernel - // ne20 = n_used_experts - // ne21 = n_rows (batch size) - const int ne21_mm_id_min = 32; - - // for now the matrix-matrix multiplication kernel only works on A14+/M1+ SoCs - // AMD GPU and older A-chips will reuse matrix-vector multiplication kernel - if ([device supportsFamily:MTLGPUFamilyApple7] && - ne00 % 32 == 0 && ne00 >= 64 && - (ne21 >= ne21_mm_id_min)) { - GGML_ASSERT(ne00 % 4 == 0); - - // some Metal matrix data types require aligned pointers - // ref: https://developer.apple.com/metal/Metal-Shading-Language-Specification.pdf (Table 2.5) - switch (src0->type) { - case GGML_TYPE_F32: GGML_ASSERT(nb01 % 16 == 0); break; - case GGML_TYPE_F16: GGML_ASSERT(nb01 % 8 == 0); break; - case GGML_TYPE_BF16: GGML_ASSERT(nb01 % 8 == 0); break; - default: break; - } - - // extra buffers for intermediate id mapping - size_t offs_tpe = offs_dst + ggml_nbytes(dst); - size_t offs_ids = offs_tpe + ggml_metal_mul_mat_id_extra_tpe(dst); - - { - ggml_metal_kargs_mul_mm_id_map0 args = { - ne02, - ne10, - ne11, // n_expert_used (bcast) - nb11, - nb12, - ne21, // n_tokens - ne20, // n_expert_used - nb21, - }; - - id pipeline = nil; - - pipeline = nil; - - switch (ne20) { - case 1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_1 ].pipeline; break; - case 2: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_2 ].pipeline; break; - case 4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_4 ].pipeline; break; - case 6: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_6 ].pipeline; break; - case 8: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_8 ].pipeline; break; - case 10: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_10].pipeline; break; - case 16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MAP0_F16_NE20_16].pipeline; break; - default: GGML_ABORT("missing specialization for ne20 = %d", (int) ne20); - } - - GGML_ASSERT(ne02 <= (int) pipeline.maxTotalThreadsPerThreadgroup); - - const size_t smem = ne02*ne20*sizeof(uint16_t); - - GGML_ASSERT(smem <= device.maxThreadgroupMemoryLength); - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src2 offset:offs_src2 atIndex:1]; - [encoder setBuffer:id_dst offset:offs_tpe atIndex:2]; - [encoder setBuffer:id_dst offset:offs_ids atIndex:3]; - [encoder setThreadgroupMemoryLength:smem atIndex:0]; - - [encoder dispatchThreadgroups:MTLSizeMake(1, 1, 1) threadsPerThreadgroup:MTLSizeMake(ne02, 1, 1)]; - } - - // this barrier is always needed because the next kernel has to wait for the id maps to be computed - ggml_metal_encode_concurrency_reset(ctx_enc); - - { - id pipeline = nil; - - switch (src0->type) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_F32_F16 ].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_F16_F16 ].pipeline; break; - case GGML_TYPE_BF16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_BF16_F16 ].pipeline; break; - case GGML_TYPE_Q4_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q4_0_F16 ].pipeline; break; - case GGML_TYPE_Q4_1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q4_1_F16 ].pipeline; break; - case GGML_TYPE_Q5_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q5_0_F16 ].pipeline; break; - case GGML_TYPE_Q5_1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q5_1_F16 ].pipeline; break; - case GGML_TYPE_Q8_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q8_0_F16 ].pipeline; break; - case GGML_TYPE_MXFP4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_MXFP4_F16 ].pipeline; break; - case GGML_TYPE_Q2_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q2_K_F16 ].pipeline; break; - case GGML_TYPE_Q3_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q3_K_F16 ].pipeline; break; - case GGML_TYPE_Q4_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q4_K_F16 ].pipeline; break; - case GGML_TYPE_Q5_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q5_K_F16 ].pipeline; break; - case GGML_TYPE_Q6_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_Q6_K_F16 ].pipeline; break; - case GGML_TYPE_IQ2_XXS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ2_XXS_F16].pipeline; break; - case GGML_TYPE_IQ2_XS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ2_XS_F16 ].pipeline; break; - case GGML_TYPE_IQ3_XXS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ3_XXS_F16].pipeline; break; - case GGML_TYPE_IQ3_S: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ3_S_F16 ].pipeline; break; - case GGML_TYPE_IQ2_S: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ2_S_F16 ].pipeline; break; - case GGML_TYPE_IQ1_S: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ1_S_F16 ].pipeline; break; - case GGML_TYPE_IQ1_M: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ1_M_F16 ].pipeline; break; - case GGML_TYPE_IQ4_NL: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ4_NL_F16 ].pipeline; break; - case GGML_TYPE_IQ4_XS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MM_ID_IQ4_XS_F16 ].pipeline; break; - default: GGML_ABORT("MUL_MAT_ID not implemented"); - } - - ggml_metal_kargs_mul_mm_id args = { - /*.ne00 =*/ ne00, - /*.ne02 =*/ ne02, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne11 =*/ ne11, // n_expert_used (bcast) - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.ne20 =*/ ne20, // n_expert_used - /*.ne21 =*/ ne21, // n_tokens - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.r2 =*/ r2, - /*.r3 =*/ r3, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_dst offset:offs_tpe atIndex:3]; - [encoder setBuffer:id_dst offset:offs_ids atIndex:4]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:5]; - - [encoder setThreadgroupMemoryLength:8192 atIndex:0]; - [encoder dispatchThreadgroups:MTLSizeMake((ne21 + 31)/32, (ne01 + 63)/64, ne02) threadsPerThreadgroup:MTLSizeMake(128, 1, 1)]; - } - } else { - id pipeline = nil; - - int nsg = 0; // number of simdgroups - int nr0 = 0; // number of src0 rows per simdgroup - int nr1 = 1; // number of src1 rows per threadgroup - - size_t smem = 0; // shared memory - - // use custom matrix x vector kernel - switch (src0t) { - case GGML_TYPE_F32: - { - GGML_ASSERT(src1t == GGML_TYPE_F32); - nsg = 1; - nr0 = 1; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F32_F32].pipeline; - } break; - case GGML_TYPE_F16: - { - GGML_ASSERT(src1t == GGML_TYPE_F32); - nsg = 1; - nr0 = 1; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_F16_F32].pipeline; - } break; - case GGML_TYPE_BF16: - { - GGML_ASSERT(src1t == GGML_TYPE_F32); - nsg = 1; - nr0 = 1; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_BF16_F32].pipeline; - } break; - case GGML_TYPE_Q4_0: - { - nsg = N_SG_Q4_0; - nr0 = N_R0_Q4_0; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q4_0_F32].pipeline; - } break; - case GGML_TYPE_Q4_1: - { - nsg = N_SG_Q4_1; - nr0 = N_R0_Q4_1; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q4_1_F32].pipeline; - } break; - case GGML_TYPE_Q5_0: - { - nsg = N_SG_Q5_0; - nr0 = N_R0_Q5_0; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q5_0_F32].pipeline; - } break; - case GGML_TYPE_Q5_1: - { - nsg = N_SG_Q5_1; - nr0 = N_R0_Q5_1; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q5_1_F32].pipeline; - } break; - case GGML_TYPE_Q8_0: - { - nsg = N_SG_Q8_0; - nr0 = N_R0_Q8_0; - smem = 32*sizeof(float)*N_R0_Q8_0; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q8_0_F32].pipeline; - } break; - case GGML_TYPE_MXFP4: - { - nsg = N_SG_MXFP4; - nr0 = N_R0_MXFP4; - smem = 32*sizeof(float); - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_MXFP4_F32].pipeline; - } break; - case GGML_TYPE_Q2_K: - { - nsg = N_SG_Q2_K; - nr0 = N_R0_Q2_K; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q2_K_F32].pipeline; - } break; - case GGML_TYPE_Q3_K: - { - nsg = N_SG_Q3_K; - nr0 = N_R0_Q3_K; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q3_K_F32].pipeline; - } break; - case GGML_TYPE_Q4_K: - { - nsg = N_SG_Q4_K; - nr0 = N_R0_Q4_K; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q4_K_F32].pipeline; - } break; - case GGML_TYPE_Q5_K: - { - nsg = N_SG_Q5_K; - nr0 = N_R0_Q5_K; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q5_K_F32].pipeline; - } break; - case GGML_TYPE_Q6_K: - { - nsg = N_SG_Q6_K; - nr0 = N_R0_Q6_K; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_Q6_K_F32].pipeline; - } break; - case GGML_TYPE_IQ2_XXS: - { - nsg = N_SG_IQ2_XXS; - nr0 = N_R0_IQ2_XXS; - smem = 256*8+128; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ2_XXS_F32].pipeline; - } break; - case GGML_TYPE_IQ2_XS: - { - nsg = N_SG_IQ2_XS; - nr0 = N_R0_IQ2_XS; - smem = 512*8+128; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ2_XS_F32].pipeline; - } break; - case GGML_TYPE_IQ3_XXS: - { - nsg = N_SG_IQ3_XXS; - nr0 = N_R0_IQ3_XXS; - smem = 256*4+128; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ3_XXS_F32].pipeline; - } break; - case GGML_TYPE_IQ3_S: - { - nsg = N_SG_IQ3_S; - nr0 = N_R0_IQ3_S; - smem = 512*4; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ3_S_F32].pipeline; - } break; - case GGML_TYPE_IQ2_S: - { - nsg = N_SG_IQ2_S; - nr0 = N_R0_IQ2_S; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ2_S_F32].pipeline; - } break; - case GGML_TYPE_IQ1_S: - { - nsg = N_SG_IQ1_S; - nr0 = N_R0_IQ1_S; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ1_S_F32].pipeline; - } break; - case GGML_TYPE_IQ1_M: - { - nsg = N_SG_IQ1_M; - nr0 = N_R0_IQ1_M; - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ1_M_F32].pipeline; - } break; - case GGML_TYPE_IQ4_NL: - { - nsg = N_SG_IQ4_NL; - nr0 = N_R0_IQ4_NL; - smem = 32*sizeof(float); - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ4_NL_F32].pipeline; - } break; - case GGML_TYPE_IQ4_XS: - { - nsg = N_SG_IQ4_XS; - nr0 = N_R0_IQ4_XS; - smem = 32*sizeof(float); - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_MUL_MV_ID_IQ4_XS_F32].pipeline; - } break; - default: - { - GGML_LOG_ERROR("Asserting on type %d\n", (int)src2t); - GGML_ABORT("not implemented"); - } - }; - - if (ggml_is_quantized(src0t)) { - GGML_ASSERT(ne00 >= nsg*nr0); - } - - ggml_metal_kargs_mul_mv_id args = { - /*.nei0 =*/ ne20, - /*.nei1 =*/ ne21, - /*.nbi1 =*/ nb21, - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.ne10 =*/ ne10, - /*.ne11 =*/ ne11, - /*.ne12 =*/ ne12, - /*.ne13 =*/ ne13, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.nb1 =*/ nb1, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:3]; - [encoder setBuffer:id_src2 offset:offs_src2 atIndex:4]; - - const int64_t _ne1 = 1; - const int64_t ne123 = ne20*ne21; - - if (smem > 0) { - [encoder setThreadgroupMemoryLength:smem atIndex:0]; - } - - if (src0t == GGML_TYPE_Q8_0) { - [encoder dispatchThreadgroups:MTLSizeMake((ne01 + nr0 - 1)/(nr0), (_ne1 + nr1 - 1)/nr1, ne123) threadsPerThreadgroup:MTLSizeMake(32, nsg, 1)]; - } else { - [encoder dispatchThreadgroups:MTLSizeMake((ne01 + nr0*nsg - 1)/(nr0*nsg), (_ne1 + nr1 - 1)/nr1, ne123) threadsPerThreadgroup:MTLSizeMake(32, nsg, 1)]; - } - } - } break; - case GGML_OP_GET_ROWS: - { - id pipeline = nil; - - switch (src0->type) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_F32 ].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_F16 ].pipeline; break; - case GGML_TYPE_BF16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_BF16 ].pipeline; break; - case GGML_TYPE_Q4_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_Q4_0 ].pipeline; break; - case GGML_TYPE_Q4_1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_Q4_1 ].pipeline; break; - case GGML_TYPE_Q5_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_Q5_0 ].pipeline; break; - case GGML_TYPE_Q5_1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_Q5_1 ].pipeline; break; - case GGML_TYPE_Q8_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_Q8_0 ].pipeline; break; - case GGML_TYPE_MXFP4: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_MXFP4 ].pipeline; break; - case GGML_TYPE_Q2_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_Q2_K ].pipeline; break; - case GGML_TYPE_Q3_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_Q3_K ].pipeline; break; - case GGML_TYPE_Q4_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_Q4_K ].pipeline; break; - case GGML_TYPE_Q5_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_Q5_K ].pipeline; break; - case GGML_TYPE_Q6_K: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_Q6_K ].pipeline; break; - case GGML_TYPE_IQ2_XXS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ2_XXS].pipeline; break; - case GGML_TYPE_IQ2_XS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ2_XS ].pipeline; break; - case GGML_TYPE_IQ3_XXS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ3_XXS].pipeline; break; - case GGML_TYPE_IQ3_S: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ3_S ].pipeline; break; - case GGML_TYPE_IQ2_S: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ2_S ].pipeline; break; - case GGML_TYPE_IQ1_S: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ1_S ].pipeline; break; - case GGML_TYPE_IQ1_M: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ1_M ].pipeline; break; - case GGML_TYPE_IQ4_NL: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ4_NL ].pipeline; break; - case GGML_TYPE_IQ4_XS: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_IQ4_XS ].pipeline; break; - case GGML_TYPE_I32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GET_ROWS_I32 ].pipeline; break; - default: GGML_ABORT("not implemented"); - } - - ggml_metal_kargs_get_rows args = { - /*.ne00 =*/ ne00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.ne10 =*/ ne10, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:3]; - - [encoder dispatchThreadgroups:MTLSizeMake(ne10, ne11, 1) threadsPerThreadgroup:MTLSizeMake(32, 1, 1)]; - } break; - case GGML_OP_SET_ROWS: - { - id pipeline = nil; - - switch (dst->type) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SET_ROWS_F32 ].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SET_ROWS_F16 ].pipeline; break; - case GGML_TYPE_BF16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SET_ROWS_BF16 ].pipeline; break; - case GGML_TYPE_Q8_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SET_ROWS_Q8_0 ].pipeline; break; - case GGML_TYPE_Q4_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SET_ROWS_Q4_0 ].pipeline; break; - case GGML_TYPE_Q4_1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SET_ROWS_Q4_1 ].pipeline; break; - case GGML_TYPE_Q5_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SET_ROWS_Q5_0 ].pipeline; break; - case GGML_TYPE_Q5_1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SET_ROWS_Q5_1 ].pipeline; break; - case GGML_TYPE_IQ4_NL: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_SET_ROWS_IQ4_NL].pipeline; break; - default: GGML_ABORT("not implemented"); - } - - const int32_t nk0 = ne0/ggml_blck_size(dst->type); - - int nth = 32; // SIMD width - - while (nth < nk0 && nth < (int) pipeline.maxTotalThreadsPerThreadgroup) { - nth *= 2; - } - - int nrptg = 1; - if (nth > nk0) { - nrptg = (nth + nk0 - 1)/nk0; - nth = nk0; - - if (nrptg*nth > (int) pipeline.maxTotalThreadsPerThreadgroup) { - nrptg--; - } - } - - nth = MIN(nth, nk0); - - ggml_metal_kargs_set_rows args = { - /*.nk0 =*/ nk0, - /*.ne01 =*/ ne01, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne11 =*/ ne11, - /*.ne12 =*/ ne12, - /*.nb10 =*/ nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:3]; - - [encoder dispatchThreadgroups:MTLSizeMake((ne01 + nrptg - 1)/nrptg, ne02, ne03) threadsPerThreadgroup:MTLSizeMake(nth, nrptg, 1)]; - } break; - case GGML_OP_RMS_NORM: - { - GGML_ASSERT(ne00 % 4 == 0); - GGML_ASSERT(ggml_is_contiguous_rows(src0)); - - float eps; - memcpy(&eps, dst->op_params, sizeof(float)); - - ggml_metal_kargs_rms_norm args = { - /*.ne00 =*/ ne00, - /*.ne00_4 =*/ ne00/4, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - /*.eps =*/ eps, - /*.nef1 =*/ { ne01 }, - /*.nef2 =*/ { ne02 }, - /*.nef3 =*/ { ne03 }, - /*.nbf1 =*/ { nb01 }, - /*.nbf2 =*/ { nb02 }, - /*.nbf3 =*/ { nb03 }, - }; - - size_t offs_fuse[2] = { 0, 0 }; - id id_fuse[2] = { id_src0, id_src0 }; - - // d[0] = rms_norm(a) - // d[1] = mul(d[0], b) - // d[2] = add(d[1], c) - if (ctx_dev->use_fusion) { - ops[0] = GGML_OP_RMS_NORM; - ops[1] = GGML_OP_MUL; - ops[2] = GGML_OP_ADD; - - for (n_fuse = 0; n_fuse <= 1 && idx + n_fuse + 1 < idx_end; ++n_fuse) { - if (!ggml_can_fuse(gf, idx + n_fuse, ops + n_fuse, 2)) { - break; - } - - if (nodes[n_fuse] != nodes[n_fuse + 1]->src[0]) { - break; - } - - if (nodes[n_fuse + 1]->src[1]->ne[0] != node->ne[0]) { - break; - } - - if (!ggml_is_contiguous_rows(nodes[n_fuse + 1]->src[1])) { - break; - } - - if (nodes[n_fuse + 1]->type != GGML_TYPE_F32) { - break; - } - - ctx_dev->fuse_cnt[nodes[n_fuse + 1]->op]++; - - id_fuse[n_fuse] = ggml_metal_get_buffer(nodes[n_fuse + 1]->src[1], &offs_fuse[n_fuse]); - - args.nef1[n_fuse + 1] = nodes[n_fuse + 1]->src[1]->ne[1]; - args.nef2[n_fuse + 1] = nodes[n_fuse + 1]->src[1]->ne[2]; - args.nef3[n_fuse + 1] = nodes[n_fuse + 1]->src[1]->ne[3]; - - args.nbf1[n_fuse + 1] = nodes[n_fuse + 1]->src[1]->nb[1]; - args.nbf2[n_fuse + 1] = nodes[n_fuse + 1]->src[1]->nb[2]; - args.nbf3[n_fuse + 1] = nodes[n_fuse + 1]->src[1]->nb[3]; - } - - ++n_fuse; - - if (ctx_dev->debug_fusion > 1 && n_fuse > 1) { - if (n_fuse == 2) { - GGML_LOG_DEBUG("%s: fuse: RMS_NORM + MUL\n", __func__); - } - if (n_fuse == 3) { - GGML_LOG_DEBUG("%s: fuse: RMS_NORM + MUL + ADD\n", __func__); - } - } - } - - if (n_fuse > 1) { - id_dst = ggml_metal_get_buffer(nodes[n_fuse - 1], &offs_dst); - - for (int i = 1; i < n_fuse; ++i) { - if (!ggml_metal_encode_concurrency_check(ctx_enc, nodes[i])) { - ggml_metal_encode_concurrency_reset(ctx_enc); - - break; - } - } - } - - const id pipeline = ggml_metal_get_pipeline_rms_norm(backend, node, n_fuse); - - int nth = 32; // SIMD width - - while (nth < ne00/4 && nth < (int) pipeline.maxTotalThreadsPerThreadgroup) { - nth *= 2; - } - - nth = MIN(nth, (int) pipeline.maxTotalThreadsPerThreadgroup); - nth = MIN(nth, ne00/4); - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_fuse[0] offset:offs_fuse[0] atIndex:2]; - [encoder setBuffer:id_fuse[1] offset:offs_fuse[1] atIndex:3]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:4]; - - [encoder setThreadgroupMemoryLength:32*sizeof(float) atIndex:0]; - - [encoder dispatchThreadgroups:MTLSizeMake(ne01, ne02, ne03) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_L2_NORM: - { - GGML_ASSERT(ne00 % 4 == 0); - GGML_ASSERT(ggml_is_contiguous_1(src0)); - - float eps; - memcpy(&eps, dst->op_params, sizeof(float)); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_L2_NORM].pipeline; - - int nth = 32; // SIMD width - - while (nth < ne00/4 && nth < (int) pipeline.maxTotalThreadsPerThreadgroup) { - nth *= 2; - } - - nth = MIN(nth, (int) pipeline.maxTotalThreadsPerThreadgroup); - nth = MIN(nth, ne00/4); - - ggml_metal_kargs_l2_norm args = { - /*.ne00 =*/ ne00, - /*.ne00_4 =*/ ne00/4, - /*.nb01 =*/ nb01, - /*.eps =*/ eps, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:2]; - - [encoder setThreadgroupMemoryLength:32*sizeof(float) atIndex:0]; - - const int64_t nrows = ggml_nrows(src0); - - [encoder dispatchThreadgroups:MTLSizeMake(nrows, 1, 1) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_GROUP_NORM: - { - GGML_ASSERT(ggml_is_contiguous(src0)); - - float eps; - memcpy(&eps, dst->op_params + 1, sizeof(float)); - - const int32_t n_groups = ((const int32_t *) dst->op_params)[0]; - - int nth = 32; // SIMD width - - //while (nth < ne00/4 && nth < 1024) { - // nth *= 2; - //} - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_GROUP_NORM].pipeline; - - ggml_metal_kargs_group_norm args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.n_groups =*/ n_groups, - /*.eps =*/ eps, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&args length:sizeof(args) atIndex:2]; - [encoder setThreadgroupMemoryLength:32*sizeof(float) atIndex:0]; - - [encoder dispatchThreadgroups:MTLSizeMake(n_groups, 1, 1) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_NORM: - { - GGML_ASSERT(ne00 % 4 == 0); - GGML_ASSERT(ggml_is_contiguous_1(src0)); - - float eps; - memcpy(&eps, dst->op_params, sizeof(float)); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_NORM].pipeline; - - int nth = 32; // SIMD width - - while (nth < ne00/4 && nth < (int) pipeline.maxTotalThreadsPerThreadgroup) { - nth *= 2; - } - - nth = MIN(nth, (int) pipeline.maxTotalThreadsPerThreadgroup); - nth = MIN(nth, ne00/4); - - ggml_metal_kargs_norm args = { - /*.ne00 =*/ ne00, - /*.ne00_4 =*/ ne00/4, - /*.nb01 =*/ nb01, - /*.eps =*/ eps, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:2]; - - [encoder setThreadgroupMemoryLength:32*sizeof(float) atIndex:0]; - - const int64_t nrows = ggml_nrows(src0); - - [encoder dispatchThreadgroups:MTLSizeMake(nrows, 1, 1) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_ROPE: - { - // make sure we have one or more position id(ne10) per token(ne02) - GGML_ASSERT(ne10 % ne02 == 0); - GGML_ASSERT(ne10 >= ne02); - - const int nth = MIN(1024, ne00); - - const int n_past = ((const int32_t *) dst->op_params)[0]; - const int n_dims = ((const int32_t *) dst->op_params)[1]; - const int mode = ((const int32_t *) dst->op_params)[2]; - // skip 3, n_ctx, used in GLM RoPE, unimplemented in metal - const int n_ctx_orig = ((const int32_t *) dst->op_params)[4]; - - float freq_base; - float freq_scale; - float ext_factor; - float attn_factor; - float beta_fast; - float beta_slow; - - memcpy(&freq_base, (const int32_t *) dst->op_params + 5, sizeof(float)); - memcpy(&freq_scale, (const int32_t *) dst->op_params + 6, sizeof(float)); - memcpy(&ext_factor, (const int32_t *) dst->op_params + 7, sizeof(float)); - memcpy(&attn_factor, (const int32_t *) dst->op_params + 8, sizeof(float)); - memcpy(&beta_fast, (const int32_t *) dst->op_params + 9, sizeof(float)); - memcpy(&beta_slow, (const int32_t *) dst->op_params + 10, sizeof(float)); - - const bool is_neox = mode & GGML_ROPE_TYPE_NEOX; - const bool is_mrope = mode & GGML_ROPE_TYPE_MROPE; - const bool is_vision = mode == GGML_ROPE_TYPE_VISION; - - // mrope - const int sect_0 = ((const int32_t *) dst->op_params)[11]; - const int sect_1 = ((const int32_t *) dst->op_params)[12]; - const int sect_2 = ((const int32_t *) dst->op_params)[13]; - const int sect_3 = ((const int32_t *) dst->op_params)[14]; - - id pipeline = nil; - - if (is_neox) { - switch (src0->type) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ROPE_NEOX_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ROPE_NEOX_F16].pipeline; break; - default: GGML_ABORT("fatal error"); - }; - } else if (is_mrope && !is_vision) { - GGML_ASSERT(ne10*4 >= ne02); // need at least 4 pos per token - switch (src0->type) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ROPE_MULTI_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ROPE_MULTI_F16].pipeline; break; - default: GGML_ABORT("fatal error"); - }; - } else if (is_vision) { - GGML_ASSERT(ne10*4 >= ne02); // need at least 4 pos per token - switch (src0->type) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ROPE_VISION_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ROPE_VISION_F16].pipeline; break; - default: GGML_ABORT("fatal error"); - }; - } else { - switch (src0->type) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ROPE_NORM_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ROPE_NORM_F16].pipeline; break; - default: GGML_ABORT("fatal error"); - }; - } - - ggml_metal_kargs_rope args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - /*.n_past =*/ n_past, - /*.n_dims =*/ n_dims, - /*.n_ctx_orig =*/ n_ctx_orig, - /*.freq_base =*/ freq_base, - /*.freq_scale =*/ freq_scale, - /*.ext_factor =*/ ext_factor, - /*.attn_factor =*/ attn_factor, - /*.beta_fast =*/ beta_fast, - /*.beta_slow =*/ beta_slow, - /* sect_0 =*/ sect_0, - /* sect_1 =*/ sect_1, - /* sect_2 =*/ sect_2, - /* sect_3 =*/ sect_3, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - if (id_src2 != nil) { - [encoder setBuffer:id_src2 offset:offs_src2 atIndex:3]; - } else { - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:3]; - } - [encoder setBuffer:id_dst offset:offs_dst atIndex:4]; - - [encoder dispatchThreadgroups:MTLSizeMake(ne01, ne02, ne03) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_IM2COL: - { - GGML_ASSERT(ggml_is_contiguous(src1)); - GGML_ASSERT(src1->type == GGML_TYPE_F32); - GGML_ASSERT( dst->type == GGML_TYPE_F16 || dst->type == GGML_TYPE_F32); - - const int32_t s0 = ((const int32_t *)(dst->op_params))[0]; - const int32_t s1 = ((const int32_t *)(dst->op_params))[1]; - const int32_t p0 = ((const int32_t *)(dst->op_params))[2]; - const int32_t p1 = ((const int32_t *)(dst->op_params))[3]; - const int32_t d0 = ((const int32_t *)(dst->op_params))[4]; - const int32_t d1 = ((const int32_t *)(dst->op_params))[5]; - - const bool is_2D = ((const int32_t *)(dst->op_params))[6] == 1; - - const int32_t N = src1->ne[is_2D ? 3 : 2]; - const int32_t IC = src1->ne[is_2D ? 2 : 1]; - const int32_t IH = is_2D ? src1->ne[1] : 1; - const int32_t IW = src1->ne[0]; - - const int32_t KH = is_2D ? src0->ne[1] : 1; - const int32_t KW = src0->ne[0]; - - const int32_t OH = is_2D ? dst->ne[2] : 1; - const int32_t OW = dst->ne[1]; - - const int32_t CHW = IC * KH * KW; - - const uint64_t ofs0 = src1->nb[is_2D ? 3 : 2] / 4; - const uint64_t ofs1 = src1->nb[is_2D ? 2 : 1] / 4; - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_IM2COL_F32].pipeline; - - const bool is_gt_mttpt = ((size_t)(N * KH * KW)) > pipeline.maxTotalThreadsPerThreadgroup; - - switch (dst->type) { - case GGML_TYPE_F32: { - pipeline = (is_gt_mttpt ? - ctx->kernels[GGML_METAL_KERNEL_TYPE_IM2COL_EXT_F32].pipeline - : - ctx->kernels[GGML_METAL_KERNEL_TYPE_IM2COL_F32].pipeline); - } break; - case GGML_TYPE_F16: { - pipeline = (is_gt_mttpt ? - ctx->kernels[GGML_METAL_KERNEL_TYPE_IM2COL_EXT_F16].pipeline - : - ctx->kernels[GGML_METAL_KERNEL_TYPE_IM2COL_F16].pipeline); - } break; - default: GGML_ABORT("fatal error"); - }; - - ggml_metal_kargs_im2col args = { - /*.ofs0 =*/ ofs0, - /*.ofs1 =*/ ofs1, - /*.IW =*/ IW, - /*.IH =*/ IH, - /*.CHW =*/ CHW, - /*.s0 =*/ s0, - /*.s1 =*/ s1, - /*.p0 =*/ p0, - /*.p1 =*/ p1, - /*.d0 =*/ d0, - /*.d1 =*/ d1, - /*.N =*/ N, - /*.KH =*/ KH, - /*.KW =*/ KW, - /*.KHW =*/ KH * KW, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&args length:sizeof(args) atIndex:2]; - - if (is_gt_mttpt) { - const uint64_t n_threads = MIN(pipeline.maxTotalThreadsPerThreadgroup, (uint64_t)N); - - const int64_t quotient = N / n_threads + (N % n_threads > 0 ? 1 : 0); - - [encoder dispatchThreadgroups:MTLSizeMake(quotient * CHW, OH, OW) threadsPerThreadgroup:MTLSizeMake(n_threads, 1, 1)]; - } else { - [encoder dispatchThreadgroups:MTLSizeMake(IC, OH, OW) threadsPerThreadgroup:MTLSizeMake(N, KH, KW)]; - } - } break; - case GGML_OP_CONV_TRANSPOSE_1D: - { - GGML_ASSERT(ggml_is_contiguous(src0)); - GGML_ASSERT(ggml_is_contiguous(src1)); - GGML_ASSERT(src0->type == GGML_TYPE_F16 || src0->type == GGML_TYPE_F32); - GGML_ASSERT(src1->type == GGML_TYPE_F32); - GGML_ASSERT( dst->type == GGML_TYPE_F32); - - const int32_t s0 = ((const int32_t *)(dst->op_params))[0]; - - const int32_t IC = src1->ne[1]; - const int32_t IL = src1->ne[0]; - - const int32_t K = src0->ne[0]; - - const int32_t OL = dst->ne[0]; - const int32_t OC = dst->ne[1]; - - id pipeline; - - switch (src0->type) { - case GGML_TYPE_F32: { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CONV_TRANSPOSE_1D_F32_F32].pipeline; - } break; - case GGML_TYPE_F16: { - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CONV_TRANSPOSE_1D_F16_F32].pipeline; - } break; - default: GGML_ABORT("fatal error"); - }; - - ggml_metal_kargs_conv_transpose_1d args = { - /*.IC =*/ IC, - /*.IL =*/ IL, - /*.K =*/ K, - /*.s0 =*/ s0, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:1]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:2]; - [encoder setBytes:&args length:sizeof(args) atIndex:3]; - - [encoder dispatchThreadgroups:MTLSizeMake(OL, OC, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_OP_UPSCALE: - { - GGML_ASSERT(src0->type == GGML_TYPE_F32); - - const float sf0 = (float)ne0/src0->ne[0]; - const float sf1 = (float)ne1/src0->ne[1]; - const float sf2 = (float)ne2/src0->ne[2]; - const float sf3 = (float)ne3/src0->ne[3]; - - const id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_UPSCALE_F32].pipeline; - - ggml_metal_kargs_upscale args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - /*.sf0 =*/ sf0, - /*.sf1 =*/ sf1, - /*.sf2 =*/ sf2, - /*.sf3 =*/ sf3 - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&args length:sizeof(args) atIndex:2]; - - const int nth = MIN((int) pipeline.maxTotalThreadsPerThreadgroup, ne0); - - [encoder dispatchThreadgroups:MTLSizeMake(ne1, ne2, ne3) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_PAD: - { - GGML_ASSERT(src0->type == GGML_TYPE_F32); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_PAD_F32].pipeline; - - ggml_metal_kargs_pad args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3 - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&args length:sizeof(args) atIndex:2]; - - const int nth = MIN(1024, ne0); - - [encoder dispatchThreadgroups:MTLSizeMake(ne1, ne2, ne3) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_PAD_REFLECT_1D: - { - GGML_ASSERT(src0->type == GGML_TYPE_F32); - - const int32_t p0 = ((const int32_t *)(dst->op_params))[0]; - const int32_t p1 = ((const int32_t *)(dst->op_params))[1]; - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_PAD_REFLECT_1D_F32].pipeline; - - ggml_metal_kargs_pad_reflect_1d args = { - /*.ne00 =*/ ne00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - /*.p0 =*/ p0, - /*.p1 =*/ p1 - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&args length:sizeof(args) atIndex:2]; - - const int nth = MIN(1024, ne0); - - [encoder dispatchThreadgroups:MTLSizeMake(ne1, ne2, ne3) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_ARANGE: - { - GGML_ASSERT(dst->type == GGML_TYPE_F32); - - float start; - float step; - - memcpy(&start, ((const int32_t *) dst->op_params) + 0, sizeof(float)); - memcpy(&step, ((const int32_t *) dst->op_params) + 2, sizeof(float)); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ARANGE_F32].pipeline; - - ggml_metal_kargs_arange args = { - /*.ne0 =*/ ne0, - /*.start =*/ start, - /*.step =*/ step - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:0]; - [encoder setBytes:&args length:sizeof(args) atIndex:1]; - - const int nth = MIN(1024, ne0); - - [encoder dispatchThreadgroups:MTLSizeMake(1, 1, 1) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_TIMESTEP_EMBEDDING: - { - GGML_ASSERT(src0->type == GGML_TYPE_F32); - - const int dim = dst->op_params[0]; - const int max_period = dst->op_params[1]; - - const int half = dim / 2; - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_TIMESTEP_EMBEDDING_F32].pipeline; - - ggml_metal_kargs_timestep_embedding args = { - /*.nb1 =*/ nb1, - /*.dim =*/ dim, - /*.max_period =*/ max_period - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&args length:sizeof(args) atIndex:2]; - - const int nth = MIN(1024, half); - - [encoder dispatchThreadgroups:MTLSizeMake(ne00, 1, 1) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - case GGML_OP_ARGSORT: - { - GGML_ASSERT(src0->type == GGML_TYPE_F32); - GGML_ASSERT( dst->type == GGML_TYPE_I32); - - const int nrows = ggml_nrows(src0); - - enum ggml_sort_order order = (enum ggml_sort_order) dst->op_params[0]; - - // bitonic sort requires the number of elements to be power of 2 - int64_t ne00_padded = 1; - while (ne00_padded < ne00) { - ne00_padded *= 2; - } - - // Metal kernels require the buffer size to be multiple of 16 bytes - // https://developer.apple.com/documentation/metal/mtlcomputecommandencoder/1443142-setthreadgroupmemorylength - const int mem_size = GGML_PAD(ne00_padded*sizeof(int32_t), 16); - - id pipeline = nil; - - switch (order) { - case GGML_SORT_ORDER_ASC: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ARGSORT_F32_I32_ASC].pipeline; break; - case GGML_SORT_ORDER_DESC: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ARGSORT_F32_I32_DESC].pipeline; break; - default: GGML_ABORT("fatal error"); - }; - - ggml_metal_kargs_argsort args = { - /*.ncols =*/ ne00, - /*.ncols_pad =*/ ne00_padded - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&args length:sizeof(args) atIndex:2]; - [encoder setThreadgroupMemoryLength:mem_size atIndex:0]; - - [encoder dispatchThreadgroups:MTLSizeMake(1, nrows, 1) threadsPerThreadgroup:MTLSizeMake(ne00_padded, 1, 1)]; - } break; - case GGML_OP_LEAKY_RELU: - { - GGML_ASSERT(src0->type == GGML_TYPE_F32); - - float slope; - memcpy(&slope, dst->op_params, sizeof(float)); - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_LEAKY_RELU_F32].pipeline; - - ggml_metal_kargs_leaky_relu args = { - /*.slope =*/ slope - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&args length:sizeof(args) atIndex:2]; - - const int64_t n = ggml_nelements(dst); - - [encoder dispatchThreadgroups:MTLSizeMake(n, 1, 1) threadsPerThreadgroup:MTLSizeMake(1, 1, 1)]; - } break; - case GGML_OP_FLASH_ATTN_EXT: - { - GGML_ASSERT(ne00 % 4 == 0); - GGML_ASSERT(ne11 % 32 == 0); - - GGML_ASSERT(src0->type == GGML_TYPE_F32); - GGML_ASSERT(src1->type == src2->type); - - //GGML_ASSERT(ggml_are_same_shape (src1, src2)); - GGML_ASSERT(ne11 == ne21); - GGML_ASSERT(ne12 == ne22); - - struct ggml_tensor * src3 = node->src[3]; // mask - struct ggml_tensor * src4 = node->src[4]; // sinks - - size_t offs_src3 = 0; - size_t offs_src4 = 0; - - id id_src3 = src3 ? ggml_metal_get_buffer(src3, &offs_src3) : nil; - id id_src4 = src4 ? ggml_metal_get_buffer(src4, &offs_src4) : nil; - - GGML_ASSERT(!src3 || src3->type == GGML_TYPE_F16); - GGML_ASSERT(!src3 || src3->ne[1] >= GGML_PAD(src0->ne[1], 8) && - "the Flash-Attention Metal kernel requires the mask to be padded to 8 and at least n_queries big"); - - const int64_t ne30 = src3 ? src3->ne[0] : 0; GGML_UNUSED(ne30); - //const int64_t ne31 = src3 ? src3->ne[1] : 0; - const int64_t ne32 = src3 ? src3->ne[2] : 0; GGML_UNUSED(ne32); - const int64_t ne33 = src3 ? src3->ne[3] : 0; GGML_UNUSED(ne33); - - const uint64_t nb30 = src3 ? src3->nb[0] : 0; GGML_UNUSED(nb30); - const uint64_t nb31 = src3 ? src3->nb[1] : 0; - const uint64_t nb32 = src3 ? src3->nb[2] : 0; GGML_UNUSED(nb32); - const uint64_t nb33 = src3 ? src3->nb[3] : 0; GGML_UNUSED(nb33); - - float scale; - float max_bias; - float logit_softcap; - - memcpy(&scale, ((const int32_t *) dst->op_params) + 0, sizeof(scale)); - memcpy(&max_bias, ((const int32_t *) dst->op_params) + 1, sizeof(max_bias)); - memcpy(&logit_softcap, ((const int32_t *) dst->op_params) + 2, sizeof(logit_softcap)); - - if (logit_softcap != 0.0f) { - scale /= logit_softcap; - } - - const bool has_mask = src3 != NULL; - const bool has_sinks = src4 != NULL; - const bool has_bias = max_bias != 0.0f; - const bool has_scap = logit_softcap != 0.0f; - - const uint32_t n_head = src0->ne[2]; - const uint32_t n_head_log2 = 1u << (uint32_t) floorf(log2f((float) n_head)); - - const float m0 = powf(2.0f, -(max_bias ) / n_head_log2); - const float m1 = powf(2.0f, -(max_bias / 2.0f) / n_head_log2); - - GGML_ASSERT(ne01 < 65536); - - if (!ggml_metal_flash_attn_ext_use_vec(dst)) { - // half8x8 kernel - const int64_t nqptg = 8; // queries per threadgroup !! sync with kernel template arguments !! - const int64_t ncpsg = 64; // cache values per simdgroup !! sync with kernel template arguments !! - - GGML_ASSERT(nqptg <= 32); - GGML_ASSERT(nqptg % 8 == 0); - GGML_ASSERT(ncpsg % 32 == 0); - - const int is_q = ggml_is_quantized(src1->type) ? 1 : 0; - - // 2*(2*ncpsg) - // ncpsg soft_max values + ncpsg mask values - // - // 16*32*(nsg) - // the shared memory needed for the simdgroups to load the KV cache - // each thread loads (dequantizes) 16 head elements, there are 32 threads in th SG - // -#define FATTN_SMEM(nsg) (GGML_PAD((nqptg*(ne00 + 2*GGML_PAD(ne20, 64) + 2*(2*ncpsg)) + is_q*(16*32*(nsg)))*(sizeof(float)/2), 16)) - - //int64_t nsgmax = 4; - // - //if (is_q) { - // nsgmax = 2; - // while (true) { - // const size_t smem = FATTN_SMEM(nsgmax); - // if (smem > device.maxThreadgroupMemoryLength/2) { - // break; - // } - // nsgmax *= 2; - // } - // nsgmax /= 2; - //} - - // simdgroups per threadgroup (a.k.a. warps) - //nsg = ne01 <= nqptg ? MAX(4, MIN(nsgmax, MIN(ne11/ncpsg, (int64_t) pipeline.maxTotalThreadsPerThreadgroup/32))) : 4; - int32_t nsg = 4; - - const size_t smem = FATTN_SMEM(nsg); - - ggml_metal_kargs_flash_attn_ext args = { - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne11 =*/ ne11, - /*.ne_12_2 =*/ ne12, - /*.ne_12_3 =*/ ne13, - /*.ns10 =*/ nb11/nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.ns20 =*/ nb21/nb20, - /*.nb21 =*/ nb21, - /*.nb22 =*/ nb22, - /*.nb23 =*/ nb23, - /*.ne32 =*/ ne32, - /*.ne33 =*/ ne33, - /*.nb31 =*/ nb31, - /*.nb32 =*/ nb32, - /*.nb33 =*/ nb33, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.scale =*/ scale, - /*.max_bias =*/ max_bias, - /*.m0 =*/ m0, - /*.m1 =*/ m1, - /*.n_head_log2 =*/ n_head_log2, - /*.logit_softcap =*/ logit_softcap, - }; - - id pipeline = ggml_metal_get_pipeline_flash_attn_ext(backend, node, has_mask, has_sinks, has_bias, has_scap, nsg); - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_src2 offset:offs_src2 atIndex:3]; - if (id_src3) { - [encoder setBuffer:id_src3 offset:offs_src3 atIndex:4]; - } else { - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:4]; - } - if (id_src4) { - [encoder setBuffer:id_src4 offset:offs_src4 atIndex:5]; - } else { - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:5]; - } - - [encoder setBuffer:id_dst offset:offs_dst atIndex:6]; - - //printf("smem: %zu, max: %zu, nsg = %d, ne02 = %d, ne12 = %d\n", smem, device.maxThreadgroupMemoryLength, (int) nsg, ne02, ne12); - GGML_ASSERT(smem <= device.maxThreadgroupMemoryLength); - [encoder setThreadgroupMemoryLength:smem atIndex:0]; - [encoder dispatchThreadgroups:MTLSizeMake((ne01 + nqptg - 1)/nqptg, ne02, ne03) threadsPerThreadgroup:MTLSizeMake(32, nsg, 1)]; -#undef FATTN_SMEM - } else { - // half4x4 kernel - const int64_t nqptg = 1; // queries per threadgroup !! sync with kernel template arguments !! - const int64_t ncpsg = 32; // cache values per simdgroup !! sync with kernel template arguments !! - const int64_t nkpsg = 1*ncpsg; - - GGML_ASSERT(nqptg <= 32); - GGML_ASSERT(nqptg % 1 == 0); - GGML_ASSERT(ncpsg % 32 == 0); - - // ne00 + 2*ncpsg*(nsg) - // for each query, we load it as f16 in shared memory (ne00) - // and store the soft_max values and the mask - // - // ne20*(nsg) - // each simdgroup has a full f32 head vector in shared mem to accumulate results - // -#define FATTN_SMEM(nsg) (GGML_PAD((nqptg*(GGML_PAD(ne00, 128) + 4*ncpsg*(nsg)) + 2*GGML_PAD(ne20, 128)*(nsg))*(sizeof(float)/2), 16)) - - int64_t nsgmax = 2; - while (true) { - const size_t smem = FATTN_SMEM(nsgmax); - // avoid using more than half of the threadgroup memory - can cause slow downs especially for large head sizes - if (smem > device.maxThreadgroupMemoryLength/2) { - break; - } - nsgmax *= 2; - } - nsgmax /= 2; - - // simdgroups per threadgroup (a.k.a. warps) - //const int64_t nsgt = MAX(2, MIN(nsgmax, MIN((ne11 + nkpsg - 1)/(nkpsg), (int64_t) pipeline.maxTotalThreadsPerThreadgroup/32))); - const int64_t nsgt = MAX(2, MIN(nsgmax, MIN((ne11 + nkpsg - 1)/(nkpsg), (int64_t) 1024/32))); - - int64_t nsg = 1; - while (nsg <= nsgt) { - nsg *= 2; - } - nsg /= 2; - - // workgroups - // each workgroup handles nsg*nkpsg cache values - int32_t nwg = 1; - if (false) { - // for small KV caches, we could launch a single workgroup and write the results directly to dst/ - // however, this does not lead to significant improvement, so disabled - nwg = 1; - nsg = 4; - } else { - nwg = 32; - nsg = 1; - while (2*nwg*nsg*nkpsg < ne11 && nsg < 4) { - nsg *= 2; - } - } - - ggml_metal_kargs_flash_attn_ext_vec args = { - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne11 =*/ ne11, - /*.ne_12_2 =*/ ne12, - /*.ne_12_3 =*/ ne13, - /*.ns10 =*/ nb11/nb10, - /*.nb11 =*/ nb11, - /*.nb12 =*/ nb12, - /*.nb13 =*/ nb13, - /*.ns20 =*/ nb21/nb20, - /*.nb21 =*/ nb21, - /*.nb22 =*/ nb22, - /*.nb23 =*/ nb23, - /*.ne32 =*/ ne32, - /*.ne33 =*/ ne33, - /*.nb31 =*/ nb31, - /*.nb32 =*/ nb32, - /*.nb33 =*/ nb33, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.scale =*/ scale, - /*.max_bias =*/ max_bias, - /*.m0 =*/ m0, - /*.m1 =*/ m1, - /*.n_head_log2 =*/ n_head_log2, - /*.logit_softcap =*/ logit_softcap, - }; - - id pipeline = ggml_metal_get_pipeline_flash_attn_ext_vec(backend, node, has_mask, has_sinks, has_bias, has_scap, nsg, nwg); - - GGML_ASSERT(nsg*32 <= (int) pipeline.maxTotalThreadsPerThreadgroup); - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_src1 offset:offs_src1 atIndex:2]; - [encoder setBuffer:id_src2 offset:offs_src2 atIndex:3]; - if (id_src3) { - [encoder setBuffer:id_src3 offset:offs_src3 atIndex:4]; - } else { - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:4]; - } - if (id_src4) { - [encoder setBuffer:id_src4 offset:offs_src4 atIndex:5]; - } else { - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:5]; - } - - const size_t smem = FATTN_SMEM(nsg); - - //printf("smem: %zu, max: %zu, nsg = %d, nsgmax = %d\n", smem, device.maxThreadgroupMemoryLength, (int) nsg, (int) nsgmax); - GGML_ASSERT(smem <= device.maxThreadgroupMemoryLength); - - if (nwg == 1) { - // using 1 workgroup -> write the result directly into dst - [encoder setBuffer:id_dst offset:offs_dst atIndex:6]; - - [encoder setThreadgroupMemoryLength:smem atIndex:0]; - [encoder dispatchThreadgroups:MTLSizeMake((ne01 + nqptg - 1)/nqptg, ne02, ne03*nwg) threadsPerThreadgroup:MTLSizeMake(32, nsg, 1)]; - } else { - // sanity checks - GGML_ASSERT(ne01*ne02*ne03 == ne1*ne2*ne3); - GGML_ASSERT(ne1*ne2*ne3 <= (1u << 31)); - - // write the results from each workgroup into a temp buffer - const size_t offs_tmp = offs_dst + ggml_nbytes(dst); - [encoder setBuffer:id_dst offset:offs_tmp atIndex:6]; - - [encoder setThreadgroupMemoryLength:smem atIndex:0]; - [encoder dispatchThreadgroups:MTLSizeMake((ne01 + nqptg - 1)/nqptg, ne02, ne03*nwg) threadsPerThreadgroup:MTLSizeMake(32, nsg, 1)]; - - // sync the 2 kernels - ggml_metal_encode_concurrency_reset(ctx_enc); - - // reduce the results from the workgroups - { - const int32_t nrows = ne1*ne2*ne3; - - ggml_metal_kargs_flash_attn_ext_vec_reduce args0 = { - nrows, - }; - - id pipeline0 = ggml_metal_get_pipeline_flash_attn_ext_vec_reduce(backend, node, ne20, nwg); - - [encoder setComputePipelineState:pipeline0]; - [encoder setBytes:&args0 length:sizeof(args0) atIndex:0]; - [encoder setBuffer:id_dst offset:offs_tmp atIndex:1]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:2]; - - //printf("ne1 = %d, ne2 = %d, ne3 = %d, ne20 = %d\n", ne1, ne2, ne3, ne20); - [encoder dispatchThreadgroups:MTLSizeMake(nrows, 1, 1) threadsPerThreadgroup:MTLSizeMake(32*nwg, 1, 1)]; - } - } -#undef FATTN_SMEM - } - } break; - case GGML_OP_DUP: - case GGML_OP_CPY: - case GGML_OP_CONT: - { - id pipeline = nil; - - switch (src0t) { - case GGML_TYPE_F32: - { - GGML_ASSERT(ne0 % ggml_blck_size(dst->type) == 0); - - switch (dstt) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_F32].pipeline; break; - case GGML_TYPE_I32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_I32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_F16].pipeline; break; - case GGML_TYPE_BF16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_BF16].pipeline; break; - case GGML_TYPE_Q8_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_Q8_0].pipeline; break; - case GGML_TYPE_Q4_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_Q4_0].pipeline; break; - case GGML_TYPE_Q4_1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_Q4_1].pipeline; break; - case GGML_TYPE_Q5_0: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_Q5_0].pipeline; break; - case GGML_TYPE_Q5_1: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_Q5_1].pipeline; break; - case GGML_TYPE_IQ4_NL: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F32_IQ4_NL].pipeline; break; - default: GGML_ABORT("not implemented"); - }; - } break; - case GGML_TYPE_I32: - { - switch (dstt) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_I32_F32].pipeline; break; - default: GGML_ABORT("not implemented"); - }; - } break; - case GGML_TYPE_F16: - { - switch (dstt) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F16_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_F16_F16].pipeline; break; - default: GGML_ABORT("not implemented"); - }; - } break; - case GGML_TYPE_BF16: - { - switch (dstt) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_BF16_F32].pipeline; break; - case GGML_TYPE_BF16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_BF16_BF16].pipeline; break; - default: GGML_ABORT("not implemented"); - }; - } break; - case GGML_TYPE_Q4_0: - { - switch (dstt) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_Q4_0_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_Q4_0_F16].pipeline; break; - default: GGML_ABORT("not implemented"); - }; - } break; - case GGML_TYPE_Q4_1: - { - switch (dstt) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_Q4_1_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_Q4_1_F16].pipeline; break; - default: GGML_ABORT("not implemented"); - }; - } break; - case GGML_TYPE_Q5_0: - { - switch (dstt) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_Q5_0_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_Q5_0_F16].pipeline; break; - default: GGML_ABORT("not implemented"); - }; - } break; - case GGML_TYPE_Q5_1: - { - switch (dstt) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_Q5_1_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_Q5_1_F16].pipeline; break; - default: GGML_ABORT("not implemented"); - }; - } break; - case GGML_TYPE_Q8_0: - { - switch (dstt) { - case GGML_TYPE_F32: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_Q8_0_F32].pipeline; break; - case GGML_TYPE_F16: pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_CPY_Q8_0_F16].pipeline; break; - default: GGML_ABORT("not implemented"); - }; - } break; - default: GGML_ABORT("not implemented"); - } - - GGML_ASSERT(ne00 % ggml_blck_size(src0->type) == 0); - - // TODO: support - //const int32_t nk00 = ne00/ggml_blck_size(dst->type); - const int32_t nk00 = ne00; - - int nth = 32; // SIMD width - - while (nth < nk00 && nth < (int) pipeline.maxTotalThreadsPerThreadgroup) { - nth *= 2; - } - - nth = MIN(nth, (int) pipeline.maxTotalThreadsPerThreadgroup); - - // when rows are small, we can batch them together in a single threadgroup - int nrptg = 1; - - // TODO: relax this constraint in the future - if (ggml_blck_size(src0->type) == 1 && ggml_blck_size(dst->type) == 1) { - if (nth > nk00) { - nrptg = (nth + nk00 - 1)/nk00; - nth = nk00; - - if (nrptg*nth > (int) pipeline.maxTotalThreadsPerThreadgroup) { - nrptg--; - } - } - } - - nth = MIN(nth, nk00); - - ggml_metal_kargs_cpy args = { - /*.ne00 =*/ nk00, - /*.ne01 =*/ ne01, - /*.ne02 =*/ ne02, - /*.ne03 =*/ ne03, - /*.nb00 =*/ nb00, - /*.nb01 =*/ nb01, - /*.nb02 =*/ nb02, - /*.nb03 =*/ nb03, - /*.ne0 =*/ ne0, - /*.ne1 =*/ ne1, - /*.ne2 =*/ ne2, - /*.ne3 =*/ ne3, - /*.nb0 =*/ nb0, - /*.nb1 =*/ nb1, - /*.nb2 =*/ nb2, - /*.nb3 =*/ nb3, - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBytes:&args length:sizeof(args) atIndex:0]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:1]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:2]; - - [encoder dispatchThreadgroups:MTLSizeMake((ne01 + nrptg - 1)/nrptg, ne02, ne03) threadsPerThreadgroup:MTLSizeMake(nth, nrptg, 1)]; - } break; - case GGML_OP_POOL_2D: - { - GGML_ASSERT(ggml_is_contiguous(src0)); - GGML_ASSERT(src0t == GGML_TYPE_F32 && src0t == dstt); - - const int32_t * opts = dst->op_params; - enum ggml_op_pool op = opts[0]; - - id pipeline = nil; - switch (src0t) { - case GGML_TYPE_F32: { - switch(op) { - case GGML_OP_POOL_AVG: - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_POOL_2D_AVG_F32].pipeline; break; - case GGML_OP_POOL_MAX: - pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_POOL_2D_MAX_F32].pipeline; break; - default: GGML_ASSERT(false && "not implemented"); - } - } break; - default: GGML_ASSERT(false && "not implemented"); - } - - const int32_t k0 = opts[1]; - const int32_t k1 = opts[2]; - const int32_t s0 = opts[3]; - const int32_t s1 = opts[4]; - const int32_t p0 = opts[5]; - const int32_t p1 = opts[6]; - - const int64_t IH = src0->ne[1]; - const int64_t IW = src0->ne[0]; - - const int64_t N = dst->ne[3]; - const int64_t OC = dst->ne[2]; - const int64_t OH = dst->ne[1]; - const int64_t OW = dst->ne[0]; - - const int64_t parallel_elements = N * OC * OH * OW; - const int64_t n_threads = MIN((int64_t)[pipeline maxTotalThreadsPerThreadgroup], parallel_elements); - const int64_t n_tg = (parallel_elements + n_threads - 1) / n_threads; - - ggml_metal_kargs_pool_2d args_pool_2d = { - /* .k0 = */ k0, - /* .k1 = */ k1, - /* .s0 = */ s0, - /* .s1 = */ s1, - /* .p0 = */ p0, - /* .p1 = */ p1, - /* .IH = */ IH, - /* .IW = */ IW, - /* .OH = */ OH, - /* .OW = */ OW, - /* .parallel_elements = */ parallel_elements - }; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&args_pool_2d length:sizeof(args_pool_2d) atIndex:2]; - - [encoder dispatchThreadgroups:MTLSizeMake(n_tg, 1, 1) threadsPerThreadgroup:MTLSizeMake(n_threads, 1, 1)]; - } break; - case GGML_OP_ARGMAX: - { - GGML_ASSERT(src0->type == GGML_TYPE_F32); - GGML_ASSERT(ggml_is_contiguous_1(src0)); - GGML_ASSERT(nb00 == ggml_type_size(src0->type)); - - const int64_t nrows = ggml_nrows(src0); - - int nth = 32; // SIMD width - while (nth < ne00 && nth*ne01*ne02*ne03 < 256) { - nth *= 2; - } - - id pipeline = ctx->kernels[GGML_METAL_KERNEL_TYPE_ARGMAX].pipeline; - - [encoder setComputePipelineState:pipeline]; - [encoder setBuffer:id_src0 offset:offs_src0 atIndex:0]; - [encoder setBuffer:id_dst offset:offs_dst atIndex:1]; - [encoder setBytes:&ne00 length:sizeof( int64_t) atIndex:2]; - [encoder setBytes:&nb01 length:sizeof(uint64_t) atIndex:3]; - [encoder setThreadgroupMemoryLength:32*sizeof(float) atIndex:0]; - [encoder setThreadgroupMemoryLength:32*sizeof(int32_t) atIndex:1]; - - [encoder dispatchThreadgroups:MTLSizeMake(nrows, 1, 1) threadsPerThreadgroup:MTLSizeMake(nth, 1, 1)]; - } break; - default: - { - GGML_LOG_ERROR("%s: error: node %3d, op = %8s not implemented\n", __func__, idx, ggml_op_name(dst->op)); - GGML_ABORT("fatal error"); - } - } - - if (ctx_dev->debug_graph > 0) { - if (n_fuse > 1) { - GGML_LOG_DEBUG("%s: fuse %d ops\n", __func__, n_fuse); - } - } - - // update the mem ranges in the encoding context - for (int i = 0; i < n_fuse; ++i) { - if (!ggml_metal_encode_concurrency_add(ctx_enc, nodes[i])) { - ggml_metal_encode_concurrency_reset(ctx_enc); - } - } - - return n_fuse; -} - -static enum ggml_status ggml_metal_graph_compute( - ggml_backend_t backend, - struct ggml_cgraph * gf) { - struct ggml_backend_metal_context * ctx = backend->context; - struct ggml_backend_metal_device_context * ctx_dev = backend->device->context; - - // number of nodes encoded by the main thread (empirically determined) - const int n_main = 64; - - // number of threads in addition to the main thread - const int n_cb = ctx->n_cb; - - // submit the ggml compute graph to the GPU by creating command buffers and encoding the ops in them - // the first n_nodes_0 are encoded and submitted for processing directly by the calling thread - // while these nodes are processing, we start n_cb threads to enqueue the rest of the nodes - // each thread creates it's own command buffer and enqueues the ops in parallel - // - // tests on M1 Pro and M2 Ultra using LLaMA models, show that optimal values for n_cb are 1 or 2 - - @autoreleasepool { - ctx->gf = gf; - - ctx->n_nodes_0 = MIN(n_main, gf->n_nodes); - ctx->n_nodes_1 = gf->n_nodes - ctx->n_nodes_0; - - ctx->n_nodes_per_cb = (ctx->n_nodes_1 + ctx->n_cb - 1) / ctx->n_cb; - - const bool should_capture = ctx->capture_next_compute; - if (should_capture) { - ctx->capture_next_compute = false; - - // make sure all previous computations have finished before starting the capture - if (ctx->cmd_buf_last) { - [ctx->cmd_buf_last waitUntilCompleted]; - ctx->cmd_buf_last = nil; - } - - if (!ctx->capture_started) { - // create capture scope - ctx->capture_scope = [[MTLCaptureManager sharedCaptureManager] newCaptureScopeWithDevice:ctx_dev->mtl_device]; - - MTLCaptureDescriptor * descriptor = [MTLCaptureDescriptor new]; - descriptor.captureObject = ctx->capture_scope; - descriptor.destination = MTLCaptureDestinationGPUTraceDocument; - descriptor.outputURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"/tmp/perf-metal.gputrace"]]; - - NSError * error = nil; - if (![[MTLCaptureManager sharedCaptureManager] startCaptureWithDescriptor:descriptor error:&error]) { - GGML_LOG_ERROR("%s: error: unable to start capture '%s'\n", __func__, [[error localizedDescription] UTF8String]); - } else { - [ctx->capture_scope beginScope]; - ctx->capture_started = true; - } - } - } - - // the main thread commits the first few commands immediately - // cmd_buf[n_cb] - { - id cmd_buf = [ctx->queue commandBufferWithUnretainedReferences]; - [cmd_buf retain]; - - if (ctx->cmd_bufs[n_cb].obj) { - [ctx->cmd_bufs[n_cb].obj release]; - } - ctx->cmd_bufs[n_cb].obj = cmd_buf; - - [cmd_buf enqueue]; - - ctx->encode_async(n_cb); - } - - // remember the command buffer for the next iteration - ctx->cmd_buf_last = ctx->cmd_bufs[n_cb].obj; - - // prepare the rest of the command buffers asynchronously (optional) - // cmd_buf[0.. n_cb) - for (int cb_idx = 0; cb_idx < n_cb; ++cb_idx) { - id cmd_buf = [ctx->queue commandBufferWithUnretainedReferences]; - [cmd_buf retain]; - - if (ctx->cmd_bufs[cb_idx].obj) { - [ctx->cmd_bufs[cb_idx].obj release]; - } - ctx->cmd_bufs[cb_idx].obj = cmd_buf; - - // always enqueue the first two command buffers - // enqueue all of the command buffers if we don't need to abort - if (cb_idx < 2 || ctx->abort_callback == NULL) { - [cmd_buf enqueue]; - - // update the pointer to the last queued command buffer - // this is needed to implement synchronize() - ctx->cmd_buf_last = cmd_buf; - } - } - - dispatch_apply(n_cb, ctx->d_queue, ctx->encode_async); - - // for debugging: block until graph is computed - //[ctx->cmd_buf_last waitUntilCompleted]; - - // enter here only when capturing in order to wait for all computation to finish - // otherwise, we leave the graph to compute asynchronously - if (!should_capture && ctx->capture_started) { - // wait for completion and check status of each command buffer - // needed to detect if the device ran out-of-memory for example (#1881) - { - id cmd_buf = ctx->cmd_bufs[n_cb].obj; - [cmd_buf waitUntilCompleted]; - - MTLCommandBufferStatus status = [cmd_buf status]; - if (status != MTLCommandBufferStatusCompleted) { - GGML_LOG_INFO("%s: command buffer %d failed with status %lu\n", __func__, n_cb, status); - if (status == MTLCommandBufferStatusError) { - GGML_LOG_INFO("error: %s\n", [[cmd_buf error].localizedDescription UTF8String]); - } - - return GGML_STATUS_FAILED; - } - } - - for (int i = 0; i < n_cb; ++i) { - id cmd_buf = ctx->cmd_bufs[i].obj; - [cmd_buf waitUntilCompleted]; - - MTLCommandBufferStatus status = [cmd_buf status]; - if (status != MTLCommandBufferStatusCompleted) { - GGML_LOG_INFO("%s: command buffer %d failed with status %lu\n", __func__, i, status); - if (status == MTLCommandBufferStatusError) { - GGML_LOG_INFO("error: %s\n", [[cmd_buf error].localizedDescription UTF8String]); - } - - return GGML_STATUS_FAILED; - } - - id next_buffer = (i + 1 < n_cb ? ctx->cmd_bufs[i + 1].obj : nil); - if (!next_buffer) { - continue; - } - - const bool next_queued = ([next_buffer status] != MTLCommandBufferStatusNotEnqueued); - if (next_queued) { - continue; - } - - if (ctx->abort_callback && ctx->abort_callback(ctx->abort_callback_data)) { - GGML_LOG_INFO("%s: command buffer %d aborted", __func__, i); - return GGML_STATUS_ABORTED; - } - - [next_buffer commit]; - } - - [ctx->capture_scope endScope]; - [[MTLCaptureManager sharedCaptureManager] stopCapture]; - } - } - - return GGML_STATUS_SUCCESS; -} - -//////////////////////////////////////////////////////////////////////////////// -// backend interface -//////////////////////////////////////////////////////////////////////////////// - -// shared buffer - -static void ggml_backend_metal_buffer_shared_free_buffer(ggml_backend_buffer_t buffer) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - for (int i = 0; i < ctx->n_buffers; i++) { - [ctx->buffers[i].metal release]; - } - - ggml_backend_metal_buffer_rset_free(ctx); - - GGML_ASSERT(ctx->is_shared); - - { -#if TARGET_OS_OSX - vm_deallocate((vm_map_t)mach_task_self(), (vm_address_t)ctx->all_data, ctx->all_size); -#else - free(ctx->all_data); -#endif - } - - free(ctx); -} - -static void * ggml_backend_metal_buffer_shared_get_base(ggml_backend_buffer_t buffer) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - return ctx->all_data; -} - -static void ggml_backend_metal_buffer_shared_memset_tensor(ggml_backend_buffer_t buffer, struct ggml_tensor * tensor, uint8_t value, size_t offset, size_t size) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - GGML_ASSERT(ctx->is_shared); - - memset((char *)tensor->data + offset, value, size); -} - -static void ggml_backend_metal_buffer_shared_set_tensor(ggml_backend_buffer_t buffer, struct ggml_tensor * tensor, const void * data, size_t offset, size_t size) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - GGML_ASSERT(ctx->is_shared); - - memcpy((char *)tensor->data + offset, data, size); -} - -static void ggml_backend_metal_buffer_shared_get_tensor(ggml_backend_buffer_t buffer, const struct ggml_tensor * tensor, void * data, size_t offset, size_t size) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - GGML_ASSERT(ctx->is_shared); - - memcpy(data, (const char *)tensor->data + offset, size); -} - -static bool ggml_backend_metal_buffer_shared_cpy_tensor(ggml_backend_buffer_t buffer, const struct ggml_tensor * src, struct ggml_tensor * dst) { - GGML_UNUSED(buffer); - GGML_UNUSED(src); - GGML_UNUSED(dst); - - return false; -} - -static void ggml_backend_metal_buffer_shared_clear(ggml_backend_buffer_t buffer, uint8_t value) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - GGML_ASSERT(ctx->is_shared); - - memset(ctx->all_data, value, ctx->all_size); -} - -static struct ggml_backend_buffer_i ggml_backend_metal_buffer_shared_i = { - /* .free_buffer = */ ggml_backend_metal_buffer_shared_free_buffer, - /* .get_base = */ ggml_backend_metal_buffer_shared_get_base, - /* .init_tensor = */ NULL, - /* .memset_tensor = */ ggml_backend_metal_buffer_shared_memset_tensor, - /* .set_tensor = */ ggml_backend_metal_buffer_shared_set_tensor, - /* .get_tensor = */ ggml_backend_metal_buffer_shared_get_tensor, - /* .cpy_tensor = */ ggml_backend_metal_buffer_shared_cpy_tensor, - /* .clear = */ ggml_backend_metal_buffer_shared_clear, - /* .reset = */ NULL, -}; - -// private buffer - -static void ggml_backend_metal_buffer_private_free_buffer(ggml_backend_buffer_t buffer) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - for (int i = 0; i < ctx->n_buffers; i++) { - [ctx->buffers[i].metal release]; - } - - ggml_backend_metal_buffer_rset_free(ctx); - - GGML_ASSERT(!ctx->is_shared); - - free(ctx); -} - -static void * ggml_backend_metal_buffer_private_get_base(ggml_backend_buffer_t buffer) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - return ctx->all_data; -} - -static void ggml_backend_metal_buffer_private_memset_tensor(ggml_backend_buffer_t buffer, struct ggml_tensor * tensor, uint8_t value, size_t offset, size_t size) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - GGML_ASSERT(!ctx->is_shared); - - @autoreleasepool { - // dst - size_t buf_dst_offset = 0; - id buf_dst = ggml_metal_get_buffer(tensor, &buf_dst_offset); - - buf_dst_offset += offset; - - id queue = ctx->queue; - id cmd_buf = [queue commandBufferWithUnretainedReferences]; - - { - id encoder = [cmd_buf blitCommandEncoder]; - - [encoder fillBuffer:buf_dst - range:NSMakeRange(buf_dst_offset, buf_dst_offset + size) - value:value]; - - [encoder endEncoding]; - } - - [cmd_buf commit]; - [cmd_buf waitUntilCompleted]; - } -} - -static void ggml_backend_metal_buffer_private_set_tensor(ggml_backend_buffer_t buffer, struct ggml_tensor * tensor, const void * data, size_t offset, size_t size) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - GGML_ASSERT(!ctx->is_shared); - - @autoreleasepool { - // src - void * data_ptr = (void *)(uintptr_t) data; // "const cast" the src data - id buf_src = [ctx->device newBufferWithBytesNoCopy:data_ptr - length:size - options:MTLResourceStorageModeShared - deallocator:nil]; - - // dst - size_t buf_dst_offset = 0; - id buf_dst = ggml_metal_get_buffer(tensor, &buf_dst_offset); - - buf_dst_offset += offset; - - // note: for experimentation purposes, here we use a semaphore to wait for the copy to complete - // this is alternative to waitUntilCompleted, which should be faster, but don't seem to make much difference - dispatch_semaphore_t completion_semaphore = dispatch_semaphore_create(0); - - id queue = ctx->queue; - id cmd_buf = [queue commandBufferWithUnretainedReferences]; - - { - id encoder = [cmd_buf blitCommandEncoder]; - - [encoder copyFromBuffer:buf_src - sourceOffset:0 - toBuffer:buf_dst - destinationOffset:buf_dst_offset - size:size]; - - [encoder endEncoding]; - } - - [cmd_buf addCompletedHandler:^(id cb) { - // TODO: can check for errors here - GGML_UNUSED(cb); - - dispatch_semaphore_signal(completion_semaphore); - }]; - - [cmd_buf commit]; - - dispatch_semaphore_wait(completion_semaphore, DISPATCH_TIME_FOREVER); - //[cmd_buf waitUntilCompleted]; - } -} - -static void ggml_backend_metal_buffer_private_get_tensor(ggml_backend_buffer_t buffer, const struct ggml_tensor * tensor, void * data, size_t offset, size_t size) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - GGML_ASSERT(!ctx->is_shared); - - @autoreleasepool { - // src - size_t buf_src_offset = 0; - id buf_src = ggml_metal_get_buffer(tensor, &buf_src_offset); - - buf_src_offset += offset; - - // dst - id buf_dst = [ctx->device newBufferWithBytesNoCopy:data - length:size - options:MTLResourceStorageModeShared - deallocator:nil]; - - id queue = ctx->queue; - id cmd_buf = [queue commandBufferWithUnretainedReferences]; - - { - id encoder = [cmd_buf blitCommandEncoder]; - - [encoder copyFromBuffer:buf_src - sourceOffset:buf_src_offset - toBuffer:buf_dst - destinationOffset:0 - size:size]; - - [encoder endEncoding]; - } - - [cmd_buf commit]; - [cmd_buf waitUntilCompleted]; - } -} - -static bool ggml_backend_metal_buffer_private_cpy_tensor(ggml_backend_buffer_t buffer, const struct ggml_tensor * src, struct ggml_tensor * dst) { - GGML_UNUSED(buffer); - GGML_UNUSED(src); - GGML_UNUSED(dst); - - return false; -} - -static void ggml_backend_metal_buffer_private_clear(ggml_backend_buffer_t buffer, uint8_t value) { - struct ggml_backend_metal_buffer_context * ctx = (struct ggml_backend_metal_buffer_context *)buffer->context; - - GGML_ASSERT(!ctx->is_shared); - - @autoreleasepool { - id queue = ctx->queue; - id cmd_buf = [queue commandBufferWithUnretainedReferences]; - - { - id encoder = [cmd_buf blitCommandEncoder]; - - [encoder fillBuffer:ctx->buffers[0].metal - range:NSMakeRange(0, ctx->buffers[0].size) - value:value]; - - [encoder endEncoding]; - } - - [cmd_buf commit]; - [cmd_buf waitUntilCompleted]; - } -} - -static struct ggml_backend_buffer_i ggml_backend_metal_buffer_private_i = { - /* .free_buffer = */ ggml_backend_metal_buffer_private_free_buffer, - /* .get_base = */ ggml_backend_metal_buffer_private_get_base, - /* .init_tensor = */ NULL, - /* .memset_tensor = */ ggml_backend_metal_buffer_private_memset_tensor, - /* .set_tensor = */ ggml_backend_metal_buffer_private_set_tensor, - /* .get_tensor = */ ggml_backend_metal_buffer_private_get_tensor, - /* .cpy_tensor = */ ggml_backend_metal_buffer_private_cpy_tensor, - /* .clear = */ ggml_backend_metal_buffer_private_clear, - /* .reset = */ NULL, -}; - -// -// buffer types -// - -static void ggml_backend_metal_log_allocated_size(id device, size_t size_aligned) { -#ifndef GGML_METAL_NDEBUG -#if TARGET_OS_OSX || (TARGET_OS_IOS && __clang_major__ >= 15) - if (@available(macOS 10.12, iOS 16.0, *)) { - GGML_LOG_DEBUG("%s: allocated buffer, size = %8.2f MiB, (%8.2f / %8.2f)\n", - __func__, - size_aligned / 1024.0 / 1024.0, - device.currentAllocatedSize / 1024.0 / 1024.0, - device.recommendedMaxWorkingSetSize / 1024.0 / 1024.0); - - if (device.currentAllocatedSize > device.recommendedMaxWorkingSetSize) { - GGML_LOG_WARN("%s: warning: current allocated size is greater than the recommended max working set size\n", __func__); - } - } else { - GGML_LOG_INFO("%s: allocated buffer, size = %8.2f MiB, (%8.2f)\n", - __func__, - size_aligned / 1024.0 / 1024.0, - device.currentAllocatedSize / 1024.0 / 1024.0); - } -#endif -#endif - GGML_UNUSED(device); - GGML_UNUSED(size_aligned); -} - -// common method for allocating shread or private Metal buffers -static ggml_backend_buffer_t ggml_backend_metal_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size, bool shared) { - struct ggml_backend_metal_buffer_context * ctx = calloc(1, sizeof(struct ggml_backend_metal_buffer_context)); - - const size_t size_page = sysconf(_SC_PAGESIZE); - - size_t size_aligned = size; - if ((size_aligned % size_page) != 0) { - size_aligned += (size_page - (size_aligned % size_page)); - } - - struct ggml_backend_metal_device_context * ctx_dev = (struct ggml_backend_metal_device_context *)buft->device->context; - - GGML_ASSERT(ctx_dev->mtl_device != nil); - - id device = ctx_dev->mtl_device; - - // allocate shared buffer if the device supports it and it is required by the buffer type - if (ctx_dev->use_shared_buffers && shared) { - ctx->all_data = ggml_metal_host_malloc(size_aligned); - ctx->is_shared = true; - } else { - // dummy, non-NULL value - we'll populate this after creating the Metal buffer below - ctx->all_data = (void *) 0x000000400ULL; - ctx->is_shared = false; - } - ctx->all_size = size_aligned; - - ctx->device = device; - ctx->queue = ctx_dev->mtl_queue; - - ctx->n_buffers = 1; - - if (ctx->all_data != NULL) { - ctx->buffers[0].size = size; - ctx->buffers[0].metal = nil; - - if (size_aligned > 0) { - if (ctx_dev->use_shared_buffers) { - ctx->buffers[0].metal = [device newBufferWithBytesNoCopy:ctx->all_data - length:size_aligned - options:MTLResourceStorageModeShared - deallocator:nil]; - } else { - ctx->buffers[0].metal = [device newBufferWithLength:size_aligned options:MTLResourceStorageModePrivate]; - - ctx->all_data = (void *) (ctx->buffers[0].metal.gpuAddress); - } - } - - ctx->buffers[0].data = ctx->all_data; - } - - if (size_aligned > 0 && (ctx->all_data == NULL || ctx->buffers[0].metal == nil)) { - GGML_LOG_ERROR("%s: error: failed to allocate buffer, size = %8.2f MiB\n", __func__, size_aligned / 1024.0 / 1024.0); - free(ctx); - return NULL; - } - - if (!ggml_backend_metal_buffer_rset_init(ctx, ctx_dev, device)) { - GGML_LOG_ERROR("%s: error: failed to initialize residency set\n", __func__); - free(ctx); - return NULL; - } - - //ggml_backend_metal_log_allocated_size(device, size_aligned); - - struct ggml_backend_buffer_i buf_i = ctx->is_shared ? ggml_backend_metal_buffer_shared_i : ggml_backend_metal_buffer_private_i; - - return ggml_backend_buffer_init(buft, buf_i, ctx, size); -} - -static size_t ggml_backend_metal_buffer_type_get_alloc_size(ggml_backend_buffer_type_t buft, const struct ggml_tensor * tensor) { - size_t res = ggml_nbytes(tensor); - - // some operations require additional memory for fleeting data: - switch (tensor->op) { - case GGML_OP_MUL_MAT_ID: - { - res += ggml_metal_mul_mat_id_extra_tpe(tensor); - res += ggml_metal_mul_mat_id_extra_ids(tensor); - } break; - case GGML_OP_FLASH_ATTN_EXT: - { - if (ggml_metal_flash_attn_ext_use_vec(tensor)) { - res += ggml_metal_flash_attn_ext_extra_tmp(tensor); - } - } break; - default: - break; - } - - return res; - - GGML_UNUSED(buft); -} - -// default (shared) buffer type - -static const char * ggml_backend_metal_buffer_type_shared_get_name(ggml_backend_buffer_type_t buft) { - return "Metal"; - - GGML_UNUSED(buft); -} - -static ggml_backend_buffer_t ggml_backend_metal_buffer_type_shared_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { - return ggml_backend_metal_buffer_type_alloc_buffer(buft, size, true); -} - -static size_t ggml_backend_metal_buffer_type_shared_get_alignment(ggml_backend_buffer_type_t buft) { - return 32; - - GGML_UNUSED(buft); -} - -static size_t ggml_backend_metal_buffer_type_shared_get_max_size(ggml_backend_buffer_type_t buft) { - const size_t max_size = ((struct ggml_backend_metal_device_context *)buft->device->context)->max_size; - - return max_size; -} - -static size_t ggml_backend_metal_buffer_type_shared_get_alloc_size(ggml_backend_buffer_type_t buft, const struct ggml_tensor * tensor) { - return ggml_backend_metal_buffer_type_get_alloc_size(buft, tensor); -} - -static bool ggml_backend_metal_buffer_type_shared_is_host(ggml_backend_buffer_type_t buft) { - return false; - - GGML_UNUSED(buft); -} - -static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_shared(void) { - static struct ggml_backend_buffer_type ggml_backend_buffer_type_metal = { - /* .iface = */ { - /* .get_name = */ ggml_backend_metal_buffer_type_shared_get_name, - /* .alloc_buffer = */ ggml_backend_metal_buffer_type_shared_alloc_buffer, - /* .get_alignment = */ ggml_backend_metal_buffer_type_shared_get_alignment, - /* .get_max_size = */ ggml_backend_metal_buffer_type_shared_get_max_size, - /* .get_alloc_size = */ ggml_backend_metal_buffer_type_shared_get_alloc_size, - /* .is_host = */ ggml_backend_metal_buffer_type_shared_is_host, - }, - /* .device = */ &g_ggml_backend_metal_device, - /* .context = */ NULL, - }; - - return &ggml_backend_buffer_type_metal; -} - -// default (private) buffer type - -static const char * ggml_backend_metal_buffer_type_private_get_name(ggml_backend_buffer_type_t buft) { - return "Metal_Private"; - - GGML_UNUSED(buft); -} - -static ggml_backend_buffer_t ggml_backend_metal_buffer_type_private_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { - return ggml_backend_metal_buffer_type_alloc_buffer(buft, size, false); -} - -static size_t ggml_backend_metal_buffer_type_private_get_alignment(ggml_backend_buffer_type_t buft) { - return 32; - - GGML_UNUSED(buft); -} - -static size_t ggml_backend_metal_buffer_type_private_get_max_size(ggml_backend_buffer_type_t buft) { - const size_t max_size = ((struct ggml_backend_metal_device_context *)buft->device->context)->max_size; - - return max_size; -} - -static size_t ggml_backend_metal_buffer_type_private_get_alloc_size(ggml_backend_buffer_type_t buft, const struct ggml_tensor * tensor) { - return ggml_backend_metal_buffer_type_get_alloc_size(buft, tensor); -} - -static bool ggml_backend_metal_buffer_type_private_is_host(ggml_backend_buffer_type_t buft) { - return false; - - GGML_UNUSED(buft); -} - -static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_private(void) { - static struct ggml_backend_buffer_type ggml_backend_buffer_type_metal = { - /* .iface = */ { - /* .get_name = */ ggml_backend_metal_buffer_type_private_get_name, - /* .alloc_buffer = */ ggml_backend_metal_buffer_type_private_alloc_buffer, - /* .get_alignment = */ ggml_backend_metal_buffer_type_private_get_alignment, - /* .get_max_size = */ ggml_backend_metal_buffer_type_private_get_max_size, - /* .get_alloc_size = */ ggml_backend_metal_buffer_type_private_get_alloc_size, - /* .is_host = */ ggml_backend_metal_buffer_type_private_is_host, - }, - /* .device = */ &g_ggml_backend_metal_device, - /* .context = */ NULL, - }; - - return &ggml_backend_buffer_type_metal; -} - -// mapped buffer type - -static const char * ggml_backend_metal_buffer_type_mapped_get_name(ggml_backend_buffer_type_t buft) { - return "Metal_Mapped"; - - GGML_UNUSED(buft); -} - -static ggml_backend_buffer_t ggml_backend_metal_buffer_type_mapped_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { - // for mapped buffers, prefer shared memory - return ggml_backend_metal_buffer_type_alloc_buffer(buft, size, true); -} - -static size_t ggml_backend_metal_buffer_type_mapped_get_alignment(ggml_backend_buffer_type_t buft) { - return 32; - - GGML_UNUSED(buft); -} - -static size_t ggml_backend_metal_buffer_type_mapped_get_max_size(ggml_backend_buffer_type_t buft) { - const size_t max_size = ((struct ggml_backend_metal_device_context *)buft->device->context)->max_size; - - return max_size; -} - -static size_t ggml_backend_metal_buffer_type_mapped_get_alloc_size(ggml_backend_buffer_type_t buft, const struct ggml_tensor * tensor) { - return ggml_backend_metal_buffer_type_get_alloc_size(buft, tensor); -} - -static bool ggml_backend_metal_buffer_type_mapped_is_host(ggml_backend_buffer_type_t buft) { - return false; - - GGML_UNUSED(buft); -} - -static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_mapped(void) { - // note: not obvious, but this buffer type still needs to implement .alloc_buffer: - // https://github.com/ggml-org/llama.cpp/pull/15832#discussion_r2333177099 - static struct ggml_backend_buffer_type ggml_backend_buffer_type_mapped_metal = { - /* .iface = */ { - /* .get_name = */ ggml_backend_metal_buffer_type_mapped_get_name, - /* .alloc_buffer = */ ggml_backend_metal_buffer_type_mapped_alloc_buffer, - /* .get_alignment = */ ggml_backend_metal_buffer_type_mapped_get_alignment, - /* .get_max_size = */ ggml_backend_metal_buffer_type_mapped_get_max_size, - /* .get_alloc_size = */ ggml_backend_metal_buffer_type_mapped_get_alloc_size, - /* .is_host = */ ggml_backend_metal_buffer_type_mapped_is_host, - }, - /* .device = */ &g_ggml_backend_metal_device, - /* .context = */ NULL, - }; - - return &ggml_backend_buffer_type_mapped_metal; -} - -// backend - -static const char * ggml_backend_metal_name(ggml_backend_t backend) { - return "Metal"; - - GGML_UNUSED(backend); -} - -static void ggml_backend_metal_free(ggml_backend_t backend) { - struct ggml_backend_metal_context * ctx = backend->context; - - ggml_metal_free(ctx); - - free(backend); -} - -static void ggml_backend_metal_synchronize(ggml_backend_t backend) { - struct ggml_backend_metal_context * ctx = backend->context; - - // wait for any backend operations to finish - if (ctx->cmd_buf_last) { - [ctx->cmd_buf_last waitUntilCompleted]; - ctx->cmd_buf_last = nil; - } - - // release any completed command buffers - if (ctx->cmd_bufs_ext.count > 0) { - for (size_t i = 0; i < ctx->cmd_bufs_ext.count; ++i) { - id cmd_buf = ctx->cmd_bufs_ext[i]; - - MTLCommandBufferStatus status = [cmd_buf status]; - if (status != MTLCommandBufferStatusCompleted) { - GGML_LOG_ERROR("%s: error: command buffer %d failed with status %d\n", __func__, (int) i, (int) status); - if (status == MTLCommandBufferStatusError) { - GGML_LOG_ERROR("error: %s\n", [[cmd_buf error].localizedDescription UTF8String]); - } - GGML_ABORT("fatal error"); - } - - [cmd_buf release]; - } - - [ctx->cmd_bufs_ext removeAllObjects]; - } -} - -static void ggml_backend_metal_set_tensor_async(ggml_backend_t backend, struct ggml_tensor * tensor, const void * data, size_t offset, size_t size) { - struct ggml_backend_metal_context * ctx = backend->context; - struct ggml_backend_metal_device_context * ctx_dev = backend->device->context; - - @autoreleasepool { - id device = ctx_dev->mtl_device; - - // wrap the source data into a Metal buffer - id buf_src = [device newBufferWithBytes:data - length:size - options:MTLResourceStorageModeShared]; - - size_t buf_dst_offset = 0; - id buf_dst = ggml_metal_get_buffer(tensor, &buf_dst_offset); - - if (buf_dst == nil) { - GGML_ABORT("%s: failed to find buffer for tensor '%s'\n", __func__, tensor->name); - } - - buf_dst_offset += offset; - - // queue the copy operation into the queue of the Metal context - // this will be queued at the end, after any currently ongoing GPU operations - id cmd_buf = [ctx->queue commandBufferWithUnretainedReferences]; - id encoder = [cmd_buf blitCommandEncoder]; - - [encoder copyFromBuffer:buf_src - sourceOffset:0 - toBuffer:buf_dst - destinationOffset:buf_dst_offset - size:size]; - - [encoder endEncoding]; - [cmd_buf commit]; - - // do not wait here for completion - //[cmd_buf waitUntilCompleted]; - - // instead, remember a reference to the command buffer and wait for it later if needed - [ctx->cmd_bufs_ext addObject:cmd_buf]; - ctx->cmd_buf_last = cmd_buf; - - [cmd_buf retain]; - } -} - -static void ggml_backend_metal_get_tensor_async(ggml_backend_t backend, const struct ggml_tensor * tensor, void * data, size_t offset, size_t size) { - struct ggml_backend_metal_context * ctx = backend->context; - struct ggml_backend_metal_device_context * ctx_dev = backend->device->context; - - @autoreleasepool { - id device = ctx_dev->mtl_device; - - id buf_dst = [device newBufferWithBytesNoCopy:data - length:size - options:MTLResourceStorageModeShared - deallocator:nil]; - - size_t buf_src_offset = 0; - id buf_src = ggml_metal_get_buffer(tensor, &buf_src_offset); - - if (buf_src == nil) { - GGML_ABORT("%s: failed to find buffer for tensor '%s'\n", __func__, tensor->name); - } - - buf_src_offset += offset; - - // queue the copy operation into the queue of the Metal context - // this will be queued at the end, after any currently ongoing GPU operations - id cmd_buf = [ctx->queue commandBufferWithUnretainedReferences]; - id encoder = [cmd_buf blitCommandEncoder]; - - [encoder copyFromBuffer:buf_src - sourceOffset:buf_src_offset - toBuffer:buf_dst - destinationOffset:0 - size:size]; - - [encoder endEncoding]; - [cmd_buf commit]; - - // do not wait here for completion - //[cmd_buf waitUntilCompleted]; - - // instead, remember a reference to the command buffer and wait for it later if needed - [ctx->cmd_bufs_ext addObject:cmd_buf]; - ctx->cmd_buf_last = cmd_buf; - - [cmd_buf retain]; - } -} - -static bool ggml_backend_metal_cpy_tensor_async(ggml_backend_t backend_src, ggml_backend_t backend_dst, const struct ggml_tensor * src, struct ggml_tensor * dst) { - return false; - - GGML_UNUSED(backend_src); - GGML_UNUSED(backend_dst); - GGML_UNUSED(src); - GGML_UNUSED(dst); -} - -static enum ggml_status ggml_backend_metal_graph_compute(ggml_backend_t backend, struct ggml_cgraph * cgraph) { - return ggml_metal_graph_compute(backend, cgraph); -} - -static void ggml_backend_metal_graph_optimize(ggml_backend_t backend, struct ggml_cgraph * cgraph) { - struct ggml_backend_metal_device_context * ctx_dev = backend->device->context; - - //const int64_t t_start = ggml_time_us(); - - if (ctx_dev->use_graph_optimize) { - ggml_metal_graph_optimize(cgraph); - } - - //printf("%s: graph optimize took %.3f ms\n", __func__, (ggml_time_us() - t_start) / 1000.0); -} - -static void ggml_backend_metal_set_n_cb(ggml_backend_t backend, int n_cb) { - GGML_ASSERT(ggml_backend_is_metal(backend)); - - struct ggml_backend_metal_context * ctx = (struct ggml_backend_metal_context *)backend->context; - - if (ctx->n_cb != n_cb) { - ctx->n_cb = MIN(n_cb, GGML_METAL_MAX_COMMAND_BUFFERS); - - if (ctx->n_cb > 2) { - GGML_LOG_WARN("%s: n_cb = %d, using n_cb > 2 is not recommended and can degrade the performance in some cases\n", __func__, n_cb); - } - } - - if (ctx->encode_async) { - Block_release(ctx->encode_async); - } - - ctx->encode_async = Block_copy(^(size_t iter) { - const int cb_idx = iter; - const int n_cb_l = ctx->n_cb; - - const int n_nodes_0 = ctx->n_nodes_0; - const int n_nodes_1 = ctx->n_nodes_1; - - const int n_nodes_per_cb = ctx->n_nodes_per_cb; - - id cmd_buf = ctx->cmd_bufs[cb_idx].obj; - struct ggml_mem_ranges * mem_ranges = ctx->cmd_bufs[cb_idx].mem_ranges; - - if (mem_ranges) { - ggml_mem_ranges_reset(mem_ranges); - } - - id encoder; - - struct ggml_backend_metal_device_context * ctx_dev = backend->device->context; - - if (ctx_dev->use_concurrency) { - encoder = [cmd_buf computeCommandEncoderWithDispatchType: MTLDispatchTypeConcurrent]; - } else { - encoder = [cmd_buf computeCommandEncoder]; - } - - int node_start = 0; - int node_end = n_nodes_0; - - if (cb_idx < n_cb_l) { - node_start = n_nodes_0 + ( (cb_idx + 0) * n_nodes_per_cb); - node_end = n_nodes_0 + (MIN((cb_idx == n_cb_l - 1) ? n_nodes_1 : (cb_idx + 1) * n_nodes_per_cb, n_nodes_1)); - } - - const bool should_capture = ctx->capture_next_compute; - - struct ggml_metal_encode_context ctx_enc = { - /*.backend =*/ backend, - /*.encoder =*/ encoder, - /*.mem_ranges =*/ mem_ranges, - }; - - for (int idx = node_start; idx < node_end;) { - if (should_capture) { - [encoder pushDebugGroup:[NSString stringWithCString:ggml_op_desc(ggml_graph_node(ctx->gf, idx)) encoding:NSUTF8StringEncoding]]; - } - - const int res = ggml_metal_encode_node(&ctx_enc, idx, node_end); - if (idx + res > node_end) { - GGML_ABORT("fusion error: nodes spanning multiple encoders have been fused. this indicates a bug in the fusion logic %s", - "https://github.com/ggml-org/llama.cpp/pull/14849"); - } - - if (should_capture) { - [encoder popDebugGroup]; - } - - if (res == 0) { - break; - } - - idx += res; - } - - [encoder endEncoding]; - - if (cb_idx < 2 || ctx->abort_callback == NULL) { - [cmd_buf commit]; - } - }); -} - -static struct ggml_backend_i ggml_backend_metal_i = { - /* .get_name = */ ggml_backend_metal_name, - /* .free = */ ggml_backend_metal_free, - /* .set_tensor_async = */ ggml_backend_metal_set_tensor_async, - /* .get_tensor_async = */ ggml_backend_metal_get_tensor_async, - /* .cpy_tensor_async = */ ggml_backend_metal_cpy_tensor_async, // only needed for multi-GPU setups - /* .synchronize = */ ggml_backend_metal_synchronize, - /* .graph_plan_create = */ NULL, - /* .graph_plan_free = */ NULL, - /* .graph_plan_update = */ NULL, - /* .graph_plan_compute = */ NULL, - /* .graph_compute = */ ggml_backend_metal_graph_compute, - - // the events API is needed only for multi-GPU setups, so likely no need to implement it for Metal - // in any case, these docs seem relevant if we ever decide to implement it: - // https://developer.apple.com/documentation/metal/mtlcommandbuffer#Synchronizing-Passes-with-Events - /* .event_record = */ NULL, - /* .event_wait = */ NULL, - /* .optimize_graph = */ ggml_backend_metal_graph_optimize, -}; - -static ggml_guid_t ggml_backend_metal_guid(void) { - static ggml_guid guid = { 0x81, 0xa1, 0x8b, 0x1e, 0x71, 0xec, 0x79, 0xed, 0x2b, 0x85, 0xdc, 0x8a, 0x61, 0x98, 0x30, 0xe6 }; - return &guid; -} - -// TODO: remove in the future -ggml_backend_t ggml_backend_metal_init(void) { - ggml_backend_dev_t dev = ggml_backend_reg_dev_get(ggml_backend_metal_reg(), 0); - - struct ggml_backend_metal_context * ctx = ggml_metal_init(dev); - if (ctx == NULL) { - GGML_LOG_ERROR("%s: error: failed to allocate context\n", __func__); - return NULL; - } - - ggml_backend_t backend = malloc(sizeof(struct ggml_backend)); - - *backend = (struct ggml_backend) { - /* .guid = */ ggml_backend_metal_guid(), - /* .interface = */ ggml_backend_metal_i, - /* .device = */ dev, - /* .context = */ ctx, - }; - - ggml_backend_metal_set_n_cb(backend, 1); - - return backend; -} - -bool ggml_backend_is_metal(ggml_backend_t backend) { - return backend != NULL && ggml_guid_matches(backend->guid, ggml_backend_metal_guid()); -} - -void ggml_backend_metal_set_abort_callback(ggml_backend_t backend, ggml_abort_callback abort_callback, void * user_data) { - GGML_ASSERT(ggml_backend_is_metal(backend)); - - struct ggml_backend_metal_context * ctx = (struct ggml_backend_metal_context *)backend->context; - - ctx->abort_callback = abort_callback; - ctx->abort_callback_data = user_data; -} - -bool ggml_backend_metal_supports_family(ggml_backend_t backend, int family) { - GGML_ASSERT(ggml_backend_is_metal(backend)); - - struct ggml_backend_metal_device_context * ctx_dev = backend->device->context; - - GGML_ASSERT(ctx_dev->mtl_device != nil); - - return [ctx_dev->mtl_device supportsFamily:(MTLGPUFamilyApple1 + family - 1)]; -} - -void ggml_backend_metal_capture_next_compute(ggml_backend_t backend) { - GGML_ASSERT(ggml_backend_is_metal(backend)); - - struct ggml_backend_metal_context * ctx = (struct ggml_backend_metal_context *)backend->context; - ctx->capture_next_compute = true; -} - -// backend device - -static const char * ggml_backend_metal_device_get_name(ggml_backend_dev_t dev) { - return "Metal"; - - GGML_UNUSED(dev); -} - -static const char * ggml_backend_metal_device_get_description(ggml_backend_dev_t dev) { - struct ggml_backend_metal_device_context * ctx_dev = (struct ggml_backend_metal_device_context *)dev->context; - - return ctx_dev->name; -} - -static void ggml_backend_metal_device_get_memory(ggml_backend_dev_t dev, size_t * free, size_t * total) { - if (@available(macOS 10.12, iOS 16.0, *)) { - struct ggml_backend_metal_device_context * ctx_dev = (struct ggml_backend_metal_device_context *)dev->context; - id device = ctx_dev->mtl_device; - - *total = device.recommendedMaxWorkingSetSize; - *free = *total - device.currentAllocatedSize; - } else { - *free = 1; - *total = 1; - } -} - -static enum ggml_backend_dev_type ggml_backend_metal_device_get_type(ggml_backend_dev_t dev) { - return GGML_BACKEND_DEVICE_TYPE_GPU; - - GGML_UNUSED(dev); -} - -static void ggml_backend_metal_device_get_props(ggml_backend_dev_t dev, struct ggml_backend_dev_props * props) { - props->name = ggml_backend_metal_device_get_name(dev); - props->description = ggml_backend_metal_device_get_description(dev); - props->type = ggml_backend_metal_device_get_type(dev); - ggml_backend_metal_device_get_memory(dev, &props->memory_free, &props->memory_total); - props->caps = (struct ggml_backend_dev_caps) { - /* .async = */ true, - /* .host_buffer = */ false, - /* .buffer_from_host_ptr = */ true, - /* .events = */ false, - }; -} - -static ggml_backend_t ggml_backend_metal_device_init(ggml_backend_dev_t dev, const char * params) { - struct ggml_backend_metal_context * ctx = ggml_metal_init(dev); - if (ctx == NULL) { - GGML_LOG_ERROR("%s: error: failed to allocate context\n", __func__); - return NULL; - } - - ggml_backend_t backend = malloc(sizeof(struct ggml_backend)); - - *backend = (struct ggml_backend) { - /* .guid = */ ggml_backend_metal_guid(), - /* .interface = */ ggml_backend_metal_i, - /* .device = */ dev, - /* .context = */ ctx, - }; - - ggml_backend_metal_set_n_cb(backend, 1); - - return backend; - - GGML_UNUSED(params); -} - -static ggml_backend_buffer_type_t ggml_backend_metal_device_get_buffer_type(ggml_backend_dev_t dev) { - struct ggml_backend_metal_device_context * ctx_dev = dev->context; - - return ctx_dev->use_shared_buffers ? ggml_backend_metal_buffer_type_shared() : ggml_backend_metal_buffer_type_private(); -} - -static ggml_backend_buffer_t ggml_backend_metal_device_buffer_mapped(ggml_backend_dev_t dev, void * ptr, size_t size, size_t max_tensor_size) { - struct ggml_backend_metal_buffer_context * ctx = calloc(1, sizeof(struct ggml_backend_metal_buffer_context)); - - ctx->all_data = ptr; - ctx->all_size = size; - - ctx->is_shared = true; - - ctx->n_buffers = 0; - - const size_t size_page = sysconf(_SC_PAGESIZE); - - // page-align the data ptr - { - const uintptr_t offs = (uintptr_t) ptr % size_page; - ptr = (void *) ((char *) ptr - offs); - size += offs; - } - - size_t size_aligned = size; - if ((size_aligned % size_page) != 0) { - size_aligned += (size_page - (size_aligned % size_page)); - } - - struct ggml_backend_metal_device_context * ctx_dev = (struct ggml_backend_metal_device_context *)dev->context; - - GGML_ASSERT(ctx_dev->mtl_device != nil); - - id device = ctx_dev->mtl_device; - - ctx->device = device; - ctx->queue = ctx_dev->mtl_queue; - - // the buffer fits into the max buffer size allowed by the device - if (size_aligned <= device.maxBufferLength) { - ctx->buffers[ctx->n_buffers].data = ptr; - ctx->buffers[ctx->n_buffers].size = size; - ctx->buffers[ctx->n_buffers].metal = nil; - - if (size_aligned > 0) { - ctx->buffers[ctx->n_buffers].metal = [device newBufferWithBytesNoCopy:ptr length:size_aligned options:MTLResourceStorageModeShared deallocator:nil]; - - if (ctx->buffers[ctx->n_buffers].metal == nil) { - GGML_LOG_ERROR("%s: error: failed to allocate buffer, size = %8.2f MiB\n", __func__, size_aligned / 1024.0 / 1024.0); - return false; - } - } - - ggml_backend_metal_log_allocated_size(device, size_aligned); - - ++ctx->n_buffers; - } else { - // this overlap between the views will guarantee that the tensor with the maximum size will fully fit into - // one of the views - const size_t size_ovlp = ((max_tensor_size + size_page - 1) / size_page + 1) * size_page; // round-up 2 pages just in case - const size_t size_step = device.maxBufferLength - size_ovlp; - const size_t size_view = device.maxBufferLength; - - for (size_t i = 0; i < size; i += size_step) { - const size_t size_step_aligned = (i + size_view <= size) ? size_view : (size_aligned - i); - - ctx->buffers[ctx->n_buffers].data = (void *) ((uint8_t *) ptr + i); - ctx->buffers[ctx->n_buffers].size = size_step_aligned; - ctx->buffers[ctx->n_buffers].metal = nil; - - if (size_step_aligned > 0) { - ctx->buffers[ctx->n_buffers].metal = [device newBufferWithBytesNoCopy:(void *) ((uint8_t *) ptr + i) length:size_step_aligned options:MTLResourceStorageModeShared deallocator:nil]; - - if (ctx->buffers[ctx->n_buffers].metal == nil) { - GGML_LOG_ERROR("%s: error: failed to allocate buffer, size = %8.2f MiB\n", __func__, size_step_aligned / 1024.0 / 1024.0); - return false; - } - } - - ggml_backend_metal_log_allocated_size(device, size_step_aligned); - - if (i + size_step < size) { - GGML_LOG_INFO("\n"); - } - - ++ctx->n_buffers; - } - } - - if (!ggml_backend_metal_buffer_rset_init(ctx, ctx_dev, device)) { - GGML_LOG_ERROR("%s: error: failed to initialize residency set\n", __func__); - free(ctx); - return NULL; - } - - return ggml_backend_buffer_init(ggml_backend_metal_buffer_type_mapped(), ggml_backend_metal_buffer_shared_i, ctx, size); -} - -static bool ggml_backend_metal_device_supports_op(ggml_backend_dev_t dev, const struct ggml_tensor * op) { - struct ggml_backend_metal_device_context * ctx_dev = dev->context; - - return ggml_metal_supports_op(ctx_dev, op); -} - -static bool ggml_backend_metal_device_supports_buft(ggml_backend_dev_t dev, ggml_backend_buffer_type_t buft) { - return - buft->iface.get_name == ggml_backend_metal_buffer_type_shared_get_name || - buft->iface.get_name == ggml_backend_metal_buffer_type_private_get_name || - buft->iface.get_name == ggml_backend_metal_buffer_type_mapped_get_name; - - GGML_UNUSED(dev); -} - -static int64_t get_op_batch_size(const struct ggml_tensor * op) { - switch (op->op) { - case GGML_OP_MUL_MAT: - return op->ne[1]; - case GGML_OP_MUL_MAT_ID: - return op->ne[2]; - default: - return ggml_nrows(op); - } -} - -static bool ggml_backend_metal_device_offload_op(ggml_backend_dev_t dev, const struct ggml_tensor * op) { - const int min_batch_size = 32; - - return (op->op == GGML_OP_MUL_MAT || - op->op == GGML_OP_MUL_MAT_ID) && - get_op_batch_size(op) >= min_batch_size; - - GGML_UNUSED(dev); - GGML_UNUSED(op); -} - -static struct ggml_backend_device_i ggml_backend_metal_device_i = { - /* .get_name = */ ggml_backend_metal_device_get_name, - /* .get_description = */ ggml_backend_metal_device_get_description, - /* .get_memory = */ ggml_backend_metal_device_get_memory, - /* .get_type = */ ggml_backend_metal_device_get_type, - /* .get_props = */ ggml_backend_metal_device_get_props, - /* .init_backend = */ ggml_backend_metal_device_init, - /* .get_buffer_type = */ ggml_backend_metal_device_get_buffer_type, - /* .get_host_buffer_type = */ NULL, - /* .buffer_from_host_ptr = */ ggml_backend_metal_device_buffer_mapped, - /* .supports_op = */ ggml_backend_metal_device_supports_op, - /* .supports_buft = */ ggml_backend_metal_device_supports_buft, - /* .offload_op = */ ggml_backend_metal_device_offload_op, - /* .event_new = */ NULL, - /* .event_free = */ NULL, - /* .event_synchronize = */ NULL, -}; - -// backend registry - -static const char * ggml_backend_metal_reg_get_name(ggml_backend_reg_t reg) { - return "Metal"; - - GGML_UNUSED(reg); -} - -static size_t ggml_backend_metal_reg_device_count(ggml_backend_reg_t reg) { - return 1; - - GGML_UNUSED(reg); -} - -static ggml_backend_dev_t ggml_backend_metal_reg_device_get(ggml_backend_reg_t reg, size_t index) { - GGML_ASSERT(index == 0); - - return &g_ggml_backend_metal_device; - - GGML_UNUSED(reg); - GGML_UNUSED(index); -} - -static struct ggml_backend_feature g_ggml_backend_metal_features[] = { -#if defined(GGML_METAL_EMBED_LIBRARY) - { "EMBED_LIBRARY", "1" }, -#endif -#if defined(GGML_METAL_USE_BF16) - { "BF16", "1" }, -#endif - { nil, nil }, -}; - -static struct ggml_backend_feature * ggml_backend_metal_get_features(ggml_backend_reg_t reg) { - return g_ggml_backend_metal_features; - - GGML_UNUSED(reg); -} - -static void * ggml_backend_metal_get_proc_address(ggml_backend_reg_t reg, const char * name) { - if (strcmp(name, "ggml_backend_get_features") == 0) { - return (void *)ggml_backend_metal_get_features; - } - - return NULL; - - GGML_UNUSED(reg); -} -static struct ggml_backend_reg_i ggml_backend_metal_reg_i = { - /* .get_name = */ ggml_backend_metal_reg_get_name, - /* .device_count = */ ggml_backend_metal_reg_device_count, - /* .device_get = */ ggml_backend_metal_reg_device_get, - /* .get_proc_address = */ ggml_backend_metal_get_proc_address, -}; - -// called upon program exit -static void ggml_metal_cleanup(void) { - ggml_backend_metal_device_rel(&g_ggml_ctx_dev_main); -} - -// TODO: make thread-safe -ggml_backend_reg_t ggml_backend_metal_reg(void) { - ggml_backend_metal_device_acq(&g_ggml_ctx_dev_main); - - // register cleanup callback - // TODO: not ideal, but not sure if there is a better way to do this in Objective-C - atexit(ggml_metal_cleanup); - - { - g_ggml_backend_metal_reg = (struct ggml_backend_reg) { - /* .api_version = */ GGML_BACKEND_API_VERSION, - /* .iface = */ ggml_backend_metal_reg_i, - /* .context = */ NULL, - }; - - g_ggml_backend_metal_device = (struct ggml_backend_device) { - /* .iface = */ ggml_backend_metal_device_i, - /* .reg = */ &g_ggml_backend_metal_reg, - /* .context = */ &g_ggml_ctx_dev_main, - }; - } - - return &g_ggml_backend_metal_reg; -} - -GGML_BACKEND_DL_IMPL(ggml_backend_metal_reg) diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal index 5057e264f6..f34b89e590 100644 --- a/ggml/src/ggml-metal/ggml-metal.metal +++ b/ggml/src/ggml-metal/ggml-metal.metal @@ -27,11 +27,11 @@ using namespace metal; // .../usr/bin/metal -dM -E -c ggml/src/ggml-metal/ggml-metal.metal // .../usr/bin/metal -dM -E -c -target air64-apple-ios14.0 ggml/src/ggml-metal/ggml-metal.metal // -#if __METAL_VERSION__ < 310 && defined(GGML_METAL_USE_BF16) -#undef GGML_METAL_USE_BF16 +#if __METAL_VERSION__ < 310 && defined(GGML_METAL_HAS_BF16) +#undef GGML_METAL_HAS_BF16 #endif -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) typedef matrix bfloat4x4; #endif @@ -87,7 +87,7 @@ void dequantize_f16_t4(device const half4 * src, short il, thread type4 & reg) { reg = (type4)(*(src)); } -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template void dequantize_bf16(device const bfloat4x4 * src, short il, thread type4x4 & reg) { reg = (type4x4)(*src); @@ -1222,53 +1222,78 @@ typedef decltype(kernel_div_row_c4_fuse_impl<1>) kernel_div_row_c4_fuse_t; template [[host_name("kernel_div_row_c4_fuse_1")]] kernel kernel_div_row_c4_fuse_t kernel_div_row_c4_fuse_impl<1>; -kernel void kernel_scale( +kernel void kernel_scale_f32( + constant ggml_metal_kargs_scale & args, device const float * src0, device float * dst, - constant float & scale, - constant float & bias, uint tpig[[thread_position_in_grid]]) { - dst[tpig] = src0[tpig] * scale + bias; + dst[tpig] = src0[tpig] * args.scale + args.bias; } -kernel void kernel_scale_4( +kernel void kernel_scale_f32_4( + constant ggml_metal_kargs_scale & args, device const float4 * src0, device float4 * dst, - constant float & scale, - constant float & bias, uint tpig[[thread_position_in_grid]]) { - dst[tpig] = src0[tpig] * scale + bias; + dst[tpig] = src0[tpig] * args.scale + args.bias; } -kernel void kernel_clamp( +kernel void kernel_clamp_f32( + constant ggml_metal_kargs_clamp & args, device const float * src0, device float * dst, - constant float & min, - constant float & max, uint tpig[[thread_position_in_grid]]) { - dst[tpig] = src0[tpig] < min ? min : (src0[tpig] > max ? max : src0[tpig]); + dst[tpig] = clamp(src0[tpig], args.min, args.max); } -kernel void kernel_relu( +kernel void kernel_clamp_f32_4( + constant ggml_metal_kargs_clamp & args, + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = clamp(src0[tpig], args.min, args.max); +} + +kernel void kernel_relu_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { dst[tpig] = max(0.0f, src0[tpig]); } -kernel void kernel_sigmoid( +kernel void kernel_relu_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = max(0.0f, src0[tpig]); +} + +kernel void kernel_sigmoid_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { dst[tpig] = 1.0f / (1.0f + exp(-src0[tpig])); } -kernel void kernel_tanh( +kernel void kernel_sigmoid_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = 1.0f / (1.0f + exp(-src0[tpig])); +} + +kernel void kernel_tanh_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { - device const float & x = src0[tpig]; - dst[tpig] = precise::tanh(x); + dst[tpig] = precise::tanh(src0[tpig]); +} + +kernel void kernel_tanh_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = precise::tanh(src0[tpig]); } constant float GELU_COEF_A = 0.044715f; @@ -1276,7 +1301,7 @@ constant float GELU_QUICK_COEF = -1.702f; constant float SQRT_2_OVER_PI = 0.79788456080286535587989211986876f; constant float SQRT_2_INV = 0.70710678118654752440084436210484f; -kernel void kernel_gelu( +kernel void kernel_gelu_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { @@ -1285,7 +1310,7 @@ kernel void kernel_gelu( dst[tpig] = 0.5f*x*(1.0f + precise::tanh(SQRT_2_OVER_PI*x*(1.0f + GELU_COEF_A*x*x))); } -kernel void kernel_gelu_4( +kernel void kernel_gelu_f32_4( device const float4 * src0, device float4 * dst, uint tpig[[thread_position_in_grid]]) { @@ -1298,7 +1323,7 @@ kernel void kernel_gelu_4( dst[tpig] = 0.5f*x*(1.0f + precise::tanh(SQRT_2_OVER_PI*x*(1.0f + GELU_COEF_A*x*x))); } -kernel void kernel_gelu_quick( +kernel void kernel_gelu_quick_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { @@ -1307,7 +1332,7 @@ kernel void kernel_gelu_quick( dst[tpig] = x*(1.0f/(1.0f+exp(GELU_QUICK_COEF*x))); } -kernel void kernel_gelu_quick_4( +kernel void kernel_gelu_quick_f32_4( device const float4 * src0, device float4 * dst, uint tpig[[thread_position_in_grid]]) { @@ -1334,7 +1359,7 @@ T erf_approx(T x) { return sign_x * y; } -kernel void kernel_gelu_erf( +kernel void kernel_gelu_erf_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { @@ -1343,7 +1368,7 @@ kernel void kernel_gelu_erf( dst[tpig] = 0.5f*x*(1.0f+erf_approx(x*SQRT_2_INV)); } -kernel void kernel_gelu_erf_4( +kernel void kernel_gelu_erf_f32_4( device const float4 * src0, device float4 * dst, uint tpig[[thread_position_in_grid]]) { @@ -1352,7 +1377,7 @@ kernel void kernel_gelu_erf_4( dst[tpig] = 0.5f*x*(1.0f+erf_approx(x*SQRT_2_INV)); } -kernel void kernel_silu( +kernel void kernel_silu_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { @@ -1360,7 +1385,7 @@ kernel void kernel_silu( dst[tpig] = x / (1.0f + exp(-x)); } -kernel void kernel_silu_4( +kernel void kernel_silu_f32_4( device const float4 * src0, device float4 * dst, uint tpig[[thread_position_in_grid]]) { @@ -1368,99 +1393,202 @@ kernel void kernel_silu_4( dst[tpig] = x / (1.0f + exp(-x)); } -kernel void kernel_elu( +kernel void kernel_elu_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { - device const float & x = src0[tpig]; + const float x = src0[tpig]; dst[tpig] = (x > 0.0f) ? x : (exp(x) - 1.0f); } -kernel void kernel_sqr( +kernel void kernel_elu_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + const float4 x = src0[tpig]; + dst[tpig][0] = (x[0] > 0.0f) ? x[0] : (exp(x[0]) - 1.0f); + dst[tpig][1] = (x[1] > 0.0f) ? x[1] : (exp(x[1]) - 1.0f); + dst[tpig][2] = (x[2] > 0.0f) ? x[2] : (exp(x[2]) - 1.0f); + dst[tpig][3] = (x[3] > 0.0f) ? x[3] : (exp(x[3]) - 1.0f); +} + +kernel void kernel_sqr_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { dst[tpig] = src0[tpig] * src0[tpig]; } -kernel void kernel_sqrt( +kernel void kernel_sqr_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = src0[tpig] * src0[tpig]; +} + +kernel void kernel_sqrt_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { dst[tpig] = sqrt(src0[tpig]); } -kernel void kernel_sin( +kernel void kernel_sqrt_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = sqrt(src0[tpig]); +} + +kernel void kernel_sin_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { dst[tpig] = sin(src0[tpig]); } -kernel void kernel_cos( +kernel void kernel_sin_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = sin(src0[tpig]); +} + +kernel void kernel_cos_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { dst[tpig] = cos(src0[tpig]); } -kernel void kernel_neg( +kernel void kernel_cos_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = cos(src0[tpig]); +} + +kernel void kernel_log_f32( + device const float * src0, + device float * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = log(src0[tpig]); +} + +kernel void kernel_log_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = log(src0[tpig]); +} + +kernel void kernel_neg_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { dst[tpig] = -src0[tpig]; } -kernel void kernel_abs( +kernel void kernel_neg_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = -src0[tpig]; +} + +kernel void kernel_abs_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { dst[tpig] = fabs(src0[tpig]); } -kernel void kernel_sgn( - device const float * src0, - device float * dst, +kernel void kernel_abs_f32_4( + device const float4 * src0, + device float4 * dst, uint tpig[[thread_position_in_grid]]) { - device const float & x = src0[tpig]; - dst[tpig] = (x > 0.0f) ? 1.0f : ((x < 0.0f) ? -1.0f : 0.0f); + dst[tpig] = fabs(src0[tpig]); } -kernel void kernel_step( +kernel void kernel_sgn_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { - dst[tpig] = src0[tpig] > 0.0f ? 1.0f : 0.0f; + dst[tpig] = sign(src0[tpig]); } -kernel void kernel_hardswish( +kernel void kernel_sgn_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = sign(src0[tpig]); +} + +kernel void kernel_step_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { - device const float & x = src0[tpig]; + dst[tpig] = step(0.0f, src0[tpig]); +} + +kernel void kernel_step_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = step(0.0f, src0[tpig]); +} + +kernel void kernel_hardswish_f32( + device const float * src0, + device float * dst, + uint tpig[[thread_position_in_grid]]) { + const float x = src0[tpig]; dst[tpig] = x * fmin(1.0f, fmax(0.0f, (x + 3.0f) / 6.0f)); } -kernel void kernel_hardsigmoid( +kernel void kernel_hardswish_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + const float4 x = src0[tpig]; + dst[tpig] = x * fmin(1.0f, fmax(0.0f, (x + 3.0f) / 6.0f)); +} + +kernel void kernel_hardsigmoid_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { - device const float & x = src0[tpig]; + const float x = src0[tpig]; dst[tpig] = fmin(1.0f, fmax(0.0f, (x + 3.0f) / 6.0f)); } -kernel void kernel_exp( +kernel void kernel_hardsigmoid_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + const float4 x = src0[tpig]; + dst[tpig] = fmin(1.0f, fmax(0.0f, (x + 3.0f) / 6.0f)); +} + +kernel void kernel_exp_f32( device const float * src0, device float * dst, uint tpig[[thread_position_in_grid]]) { dst[tpig] = exp(src0[tpig]); } -kernel void kernel_reglu( +kernel void kernel_exp_f32_4( + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + dst[tpig] = exp(src0[tpig]); +} + +kernel void kernel_reglu_f32( + constant ggml_metal_kargs_glu & args, device const char * src0, device const char * src1, device char * dst, - constant ggml_metal_kargs_glu & args, uint tgpig[[threadgroup_position_in_grid]], uint tpitg[[thread_position_in_threadgroup]], uint ntg[[threads_per_threadgroup]]) { @@ -1476,11 +1604,11 @@ kernel void kernel_reglu( } } -kernel void kernel_geglu( +kernel void kernel_geglu_f32( + constant ggml_metal_kargs_glu & args, device const char * src0, device const char * src1, device char * dst, - constant ggml_metal_kargs_glu & args, uint tgpig[[threadgroup_position_in_grid]], uint tpitg[[thread_position_in_threadgroup]], uint ntg[[threads_per_threadgroup]]) { @@ -1498,11 +1626,11 @@ kernel void kernel_geglu( } } -kernel void kernel_swiglu( +kernel void kernel_swiglu_f32( + constant ggml_metal_kargs_glu & args, device const char * src0, device const char * src1, device char * dst, - constant ggml_metal_kargs_glu & args, uint tgpig[[threadgroup_position_in_grid]], uint tpitg[[thread_position_in_threadgroup]], uint ntg[[threads_per_threadgroup]]) { @@ -1520,11 +1648,11 @@ kernel void kernel_swiglu( } } -kernel void kernel_swiglu_oai( +kernel void kernel_swiglu_oai_f32( + constant ggml_metal_kargs_glu & args, device const char * src0, device const char * src1, device char * dst, - constant ggml_metal_kargs_glu & args, uint tgpig[[threadgroup_position_in_grid]], uint tpitg[[thread_position_in_threadgroup]], uint ntg[[threads_per_threadgroup]]) { @@ -1546,11 +1674,11 @@ kernel void kernel_swiglu_oai( } } -kernel void kernel_geglu_erf( +kernel void kernel_geglu_erf_f32( + constant ggml_metal_kargs_glu & args, device const char * src0, device const char * src1, device char * dst, - constant ggml_metal_kargs_glu & args, uint tgpig[[threadgroup_position_in_grid]], uint tpitg[[thread_position_in_threadgroup]], uint ntg[[threads_per_threadgroup]]) { @@ -1568,11 +1696,11 @@ kernel void kernel_geglu_erf( } } -kernel void kernel_geglu_quick( +kernel void kernel_geglu_quick_f32( + constant ggml_metal_kargs_glu & args, device const char * src0, device const char * src1, device char * dst, - constant ggml_metal_kargs_glu & args, uint tgpig[[threadgroup_position_in_grid]], uint tpitg[[thread_position_in_threadgroup]], uint ntg[[threads_per_threadgroup]]) { @@ -1642,16 +1770,16 @@ kernel void kernel_sum_rows( typedef decltype(kernel_sum_rows) kernel_sum_rows_t; -template [[host_name("kernel_sum_rows")]] kernel kernel_sum_rows_t kernel_sum_rows; -template [[host_name("kernel_mean")]] kernel kernel_sum_rows_t kernel_sum_rows; +template [[host_name("kernel_sum_rows_f32")]] kernel kernel_sum_rows_t kernel_sum_rows; +template [[host_name("kernel_mean_f32")]] kernel kernel_sum_rows_t kernel_sum_rows; template kernel void kernel_soft_max( + constant ggml_metal_kargs_soft_max & args, device const char * src0, device const char * src1, device const char * src2, device char * dst, - constant ggml_metal_kargs_soft_max & args, threadgroup float * buf [[threadgroup(0)]], uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]], @@ -1753,11 +1881,11 @@ kernel void kernel_soft_max( template kernel void kernel_soft_max_4( + constant ggml_metal_kargs_soft_max & args, device const char * src0, device const char * src1, device const char * src2, device char * dst, - constant ggml_metal_kargs_soft_max & args, threadgroup float * buf [[threadgroup(0)]], uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]], @@ -1867,53 +1995,12 @@ template [[host_name("kernel_soft_max_f32")]] kernel kernel_soft_max_t kerne template [[host_name("kernel_soft_max_f16_4")]] kernel kernel_soft_max_4_t kernel_soft_max_4; template [[host_name("kernel_soft_max_f32_4")]] kernel kernel_soft_max_4_t kernel_soft_max_4; -kernel void kernel_diag_mask_inf( - device const float * src0, - device float * dst, - constant ggml_metal_kargs_diag_mask_inf & args, - uint3 tpig[[thread_position_in_grid]]) { - const int64_t i02 = tpig[2]; - const int64_t i01 = tpig[1]; - const int64_t i00 = tpig[0]; - - if (i00 > args.n_past + i01) { - dst[i02*args.ne01*args.ne00 + i01*args.ne00 + i00] = -INFINITY; - } else { - dst[i02*args.ne01*args.ne00 + i01*args.ne00 + i00] = src0[i02*args.ne01*args.ne00 + i01*args.ne00 + i00]; - } -} - -kernel void kernel_diag_mask_inf_8( - device const float4 * src0, - device float4 * dst, - constant ggml_metal_kargs_diag_mask_inf & args, - uint3 tpig[[thread_position_in_grid]]) { - - const int64_t i = 2*tpig[0]; - - dst[i+0] = src0[i+0]; - dst[i+1] = src0[i+1]; - int64_t i4 = 4*i; - const int64_t i02 = i4/(args.ne00*args.ne01); i4 -= i02*args.ne00*args.ne01; - const int64_t i01 = i4/(args.ne00); i4 -= i01*args.ne00; - const int64_t i00 = i4; - for (int k = 3; k >= 0; --k) { - if (i00 + 4 + k <= args.n_past + i01) { - break; - } - dst[i+1][k] = -INFINITY; - if (i00 + k > args.n_past + i01) { - dst[i][k] = -INFINITY; - } - } -} - // ref: ggml.c:ggml_compute_forward_ssm_conv_f32 -kernel void kernel_ssm_conv_f32( +kernel void kernel_ssm_conv_f32_f32( + constant ggml_metal_kargs_ssm_conv & args, device const void * src0, device const void * src1, device float * dst, - constant ggml_metal_kargs_ssm_conv & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]], uint3 ntg[[threads_per_threadgroup]]) { @@ -1942,6 +2029,7 @@ kernel void kernel_ssm_conv_f32( // ref: ggml.c:ggml_compute_forward_ssm_scan_f32, Mamba-1 part kernel void kernel_ssm_scan_f32( + constant ggml_metal_kargs_ssm_scan & args, device const void * src0, device const void * src1, device const void * src2, @@ -1951,7 +2039,6 @@ kernel void kernel_ssm_scan_f32( device const void * src6, device float * dst, threadgroup float * shared [[threadgroup(0)]], - constant ggml_metal_kargs_ssm_scan & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]], @@ -2057,7 +2144,8 @@ kernel void kernel_ssm_scan_f32( } // ref: ggml.c:ggml_compute_forward_ssm_scan_f32, Mamba-2 part -kernel void kernel_ssm_scan_f32_group( +kernel void kernel_ssm_scan_group_f32( + constant ggml_metal_kargs_ssm_scan & args, device const void * src0, device const void * src1, device const void * src2, @@ -2067,7 +2155,6 @@ kernel void kernel_ssm_scan_f32_group( device const void * src6, device float * dst, threadgroup float * shared [[threadgroup(0)]], - constant ggml_metal_kargs_ssm_scan & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]], @@ -2346,24 +2433,22 @@ kernel void kernel_rwkv_wkv7_f32( } } -kernel void kernel_argmax( - device const void * x, - device int32_t * dst, - constant int64_t & ncols, - constant uint64_t & nb01, - threadgroup float * shared_maxval [[threadgroup(0)]], - threadgroup int32_t * shared_argmax [[threadgroup(1)]], +kernel void kernel_argmax_f32( + constant ggml_metal_kargs_argmax & args, + device const char * src0, + device char * dst, + threadgroup char * shmem [[threadgroup(0)]], uint tgpig[[threadgroup_position_in_grid]], uint tpitg[[thread_position_in_threadgroup]], uint sgitg[[simdgroup_index_in_threadgroup]], uint tiisg[[thread_index_in_simdgroup]], uint ntg[[threads_per_threadgroup]]) { - device const float * x_row = (device const float *) ((device const char *) x + tgpig * nb01); + device const float * x_row = (device const float *) ((device const char *) src0 + tgpig * args.nb01); float lmax = -INFINITY; int32_t larg = -1; - for (int i00 = tpitg; i00 < ncols; i00 += ntg) { + for (int i00 = tpitg; i00 < args.ne00; i00 += ntg) { if (x_row[i00] > lmax) { lmax = x_row[i00]; larg = i00; @@ -2374,6 +2459,11 @@ kernel void kernel_argmax( float max_val = simd_max(lmax); int32_t arg_val = simd_max(select(-1, larg, lmax == max_val)); + device int32_t * dst_i32 = (device int32_t *) dst; + + threadgroup float * shared_maxval = (threadgroup float *) shmem; + threadgroup int32_t * shared_argmax = (threadgroup int32_t *) shmem + N_SIMDWIDTH; + if (ntg > N_SIMDWIDTH) { if (sgitg == 0) { shared_maxval[tiisg] = -INFINITY; @@ -2395,15 +2485,15 @@ kernel void kernel_argmax( float max_val_reduced = simd_max(max_val); int32_t arg_val_reduced = simd_max(select(-1, arg_val, max_val == max_val_reduced)); - dst[tgpig] = arg_val_reduced; + dst_i32[tgpig] = arg_val_reduced; return; } - dst[tgpig] = arg_val; + dst_i32[tgpig] = arg_val; } -kernel void kernel_norm( +kernel void kernel_norm_f32( constant ggml_metal_kargs_norm & args, device const char * src0, device char * dst, @@ -2537,11 +2627,11 @@ kernel void kernel_rms_norm_fuse_impl( typedef decltype(kernel_rms_norm_fuse_impl<1>) kernel_rms_norm_fuse_t; -template [[host_name("kernel_rms_norm")]] kernel kernel_rms_norm_fuse_t kernel_rms_norm_fuse_impl<1>; -template [[host_name("kernel_rms_norm_mul")]] kernel kernel_rms_norm_fuse_t kernel_rms_norm_fuse_impl<2>; -template [[host_name("kernel_rms_norm_mul_add")]] kernel kernel_rms_norm_fuse_t kernel_rms_norm_fuse_impl<3>; +template [[host_name("kernel_rms_norm_f32")]] kernel kernel_rms_norm_fuse_t kernel_rms_norm_fuse_impl<1>; +template [[host_name("kernel_rms_norm_mul_f32")]] kernel kernel_rms_norm_fuse_t kernel_rms_norm_fuse_impl<2>; +template [[host_name("kernel_rms_norm_mul_add_f32")]] kernel kernel_rms_norm_fuse_t kernel_rms_norm_fuse_impl<3>; -kernel void kernel_l2_norm( +kernel void kernel_l2_norm_f32( constant ggml_metal_kargs_l2_norm & args, device const char * src0, device char * dst, @@ -2584,10 +2674,10 @@ kernel void kernel_l2_norm( } } -kernel void kernel_group_norm( +kernel void kernel_group_norm_f32( + constant ggml_metal_kargs_group_norm & args, device const float * src0, device float * dst, - constant ggml_metal_kargs_group_norm & args, threadgroup float * buf [[threadgroup(0)]], uint tgpig[[threadgroup_position_in_grid]], uint tpitg[[thread_position_in_threadgroup]], @@ -2595,7 +2685,7 @@ kernel void kernel_group_norm( uint tiisg[[thread_index_in_simdgroup]], uint ntg[[threads_per_threadgroup]]) { const int64_t ne = args.ne00*args.ne01*args.ne02; - const int64_t gs = args.ne00*args.ne01*((args.ne02 + args.n_groups - 1) / args.n_groups); + const int64_t gs = args.ne00*args.ne01*((args.ne02 + args.ngrp - 1) / args.ngrp); int start = tgpig * gs; int end = start + gs; @@ -3407,7 +3497,7 @@ typedef decltype(kernel_mul_mv) mul_mv_t; template [[host_name("kernel_mul_mv_f32_f32")]] kernel mul_mv_t kernel_mul_mv; template [[host_name("kernel_mul_mv_f16_f32")]] kernel mul_mv_t kernel_mul_mv; template [[host_name("kernel_mul_mv_f16_f16")]] kernel mul_mv_t kernel_mul_mv; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_mul_mv_bf16_f32")]] kernel mul_mv_t kernel_mul_mv; template [[host_name("kernel_mul_mv_bf16_bf16")]] kernel mul_mv_t kernel_mul_mv; #endif @@ -3472,7 +3562,7 @@ typedef decltype(kernel_mul_mv_c4) mul_mv_c4_t; template [[host_name("kernel_mul_mv_f32_f32_c4")]] kernel mul_mv_c4_t kernel_mul_mv_c4; template [[host_name("kernel_mul_mv_f16_f32_c4")]] kernel mul_mv_c4_t kernel_mul_mv_c4; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_mul_mv_bf16_f32_c4")]] kernel mul_mv_c4_t kernel_mul_mv_c4; #endif @@ -3529,7 +3619,7 @@ kernel void kernel_mul_mv_1row( typedef decltype(kernel_mul_mv_1row) mul_mv_1row_t; template [[host_name("kernel_mul_mv_f16_f32_1row")]] kernel mul_mv_1row_t kernel_mul_mv_1row; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_mul_mv_bf16_f32_1row")]] kernel mul_mv_1row_t kernel_mul_mv_1row; #endif @@ -3576,7 +3666,7 @@ kernel void kernel_mul_mv_l4( typedef decltype(kernel_mul_mv_l4) mul_mv_l4_t; template [[host_name("kernel_mul_mv_f16_f32_l4")]] kernel mul_mv_l4_t kernel_mul_mv_l4; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_mul_mv_bf16_f32_l4")]] kernel mul_mv_l4_t kernel_mul_mv_l4; #endif @@ -3879,62 +3969,63 @@ template [[host_name("kernel_rope_multi_f16")]] kernel kernel_rope_multi_t kerne template [[host_name("kernel_rope_vision_f32")]] kernel kernel_rope_vision_t kernel_rope_vision; template [[host_name("kernel_rope_vision_f16")]] kernel kernel_rope_vision_t kernel_rope_vision; -typedef void (im2col_t)( - device const float * x, - device char * dst, - constant ggml_metal_kargs_im2col & args, - uint3 tgpig[[threadgroup_position_in_grid]], - uint3 tgpg[[threadgroups_per_grid]], - uint3 tpitg[[thread_position_in_threadgroup]], - uint3 ntg[[threads_per_threadgroup]]); - -template -kernel void kernel_im2col( - device const float * x, - device char * dst, - constant ggml_metal_kargs_im2col & args, - uint3 tgpig[[threadgroup_position_in_grid]], - uint3 tgpg[[threadgroups_per_grid]], - uint3 tpitg[[thread_position_in_threadgroup]], - uint3 ntg[[threads_per_threadgroup]]) { -// const int64_t IC = tgpg[0]; - const int64_t OH = tgpg[1]; - const int64_t OW = tgpg[2]; - -// const int64_t N = ntg[0]; - const int64_t KH = ntg[1]; - const int64_t KW = ntg[2]; - - const int64_t in = tpitg[0]; - const int64_t ikh = tpitg[1]; - const int64_t ikw = tpitg[2]; - - const int64_t iic = tgpig[0]; - const int64_t ioh = tgpig[1]; - const int64_t iow = tgpig[2]; - - const int64_t iiw = iow*args.s0 + ikw*args.d0 - args.p0; - const int64_t iih = ioh*args.s1 + ikh*args.d1 - args.p1; - - const int64_t offset_dst = (in*OH*OW + ioh*OW + iow)*args.CHW + (iic*(KH*KW) + ikh*KW + ikw); - - device T * pdst = (device T *) (dst); - - if (iih < 0 || iih >= args.IH || iiw < 0 || iiw >= args.IW) { - pdst[offset_dst] = 0.0f; - } else { - const int64_t offset_src = in*args.ofs0 + iic*args.ofs1 + iih*args.IW + iiw; - pdst[offset_dst] = x[offset_src]; - } -} - -template [[host_name("kernel_im2col_f32")]] kernel im2col_t kernel_im2col; -template [[host_name("kernel_im2col_f16")]] kernel im2col_t kernel_im2col; +// TODO: obolete -- remove +//typedef void (im2col_t)( +// constant ggml_metal_kargs_im2col & args, +// device const float * x, +// device char * dst, +// uint3 tgpig[[threadgroup_position_in_grid]], +// uint3 tgpg[[threadgroups_per_grid]], +// uint3 tpitg[[thread_position_in_threadgroup]], +// uint3 ntg[[threads_per_threadgroup]]); +// +//template +//kernel void kernel_im2col( +// constant ggml_metal_kargs_im2col & args, +// device const float * x, +// device char * dst, +// uint3 tgpig[[threadgroup_position_in_grid]], +// uint3 tgpg[[threadgroups_per_grid]], +// uint3 tpitg[[thread_position_in_threadgroup]], +// uint3 ntg[[threads_per_threadgroup]]) { +//// const int64_t IC = tgpg[0]; +// const int64_t OH = tgpg[1]; +// const int64_t OW = tgpg[2]; +// +//// const int64_t N = ntg[0]; +// const int64_t KH = ntg[1]; +// const int64_t KW = ntg[2]; +// +// const int64_t in = tpitg[0]; +// const int64_t ikh = tpitg[1]; +// const int64_t ikw = tpitg[2]; +// +// const int64_t iic = tgpig[0]; +// const int64_t ioh = tgpig[1]; +// const int64_t iow = tgpig[2]; +// +// const int64_t iiw = iow*args.s0 + ikw*args.d0 - args.p0; +// const int64_t iih = ioh*args.s1 + ikh*args.d1 - args.p1; +// +// const int64_t offset_dst = (in*OH*OW + ioh*OW + iow)*args.CHW + (iic*(KH*KW) + ikh*KW + ikw); +// +// device T * pdst = (device T *) (dst); +// +// if (iih < 0 || iih >= args.IH || iiw < 0 || iiw >= args.IW) { +// pdst[offset_dst] = 0.0f; +// } else { +// const int64_t offset_src = in*args.ofs0 + iic*args.ofs1 + iih*args.IW + iiw; +// pdst[offset_dst] = x[offset_src]; +// } +//} +// +//template [[host_name("kernel_im2col_f32")]] kernel im2col_t kernel_im2col; +//template [[host_name("kernel_im2col_f16")]] kernel im2col_t kernel_im2col; typedef void (im2col_ext_t)( + constant ggml_metal_kargs_im2col & args, device const float * x, device char * dst, - constant ggml_metal_kargs_im2col & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tgpg[[threadgroups_per_grid]], uint3 tpitg[[thread_position_in_threadgroup]], @@ -3942,16 +4033,16 @@ typedef void (im2col_ext_t)( template kernel void kernel_im2col_ext( + constant ggml_metal_kargs_im2col & args, device const float * x, device char * dst, - constant ggml_metal_kargs_im2col & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tgpg[[threadgroups_per_grid]], // tgpg[0] = D x IC x KH x KW, CHW = IC x KH x KW uint3 tpitg[[thread_position_in_threadgroup]], uint3 ntg[[threads_per_threadgroup]]) { // [M, 1, 1] const int64_t KHW = (int64_t)args.KHW; - const int64_t d = tgpig[0] / args.CHW; + const int64_t d = tgpig[0] / args.CHW; const int64_t chw = tgpig[0] % args.CHW; const int64_t tgpig_0 = chw / KHW; // 0 ~ (IC - 1) const int64_t HW = tgpig[0] % KHW; @@ -3985,19 +4076,19 @@ template [[host_name("kernel_im2col_ext_f32")]] kernel im2col_ext_t kernel_im2co template [[host_name("kernel_im2col_ext_f16")]] kernel im2col_ext_t kernel_im2col_ext; typedef void (conv_transpose_1d_t)( + constant ggml_metal_kargs_conv_transpose_1d & args, device const float * src0, device const float * src1, device char * dst, - constant ggml_metal_kargs_conv_transpose_1d & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tgpg[[threadgroups_per_grid]]); template kernel void kernel_conv_transpose_1d( + constant ggml_metal_kargs_conv_transpose_1d & args, device const T * src0, device const float * src1, device char * dst, - constant ggml_metal_kargs_conv_transpose_1d & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tgpg[[threadgroups_per_grid]]) { @@ -4021,26 +4112,26 @@ kernel void kernel_conv_transpose_1d( template [[host_name("kernel_conv_transpose_1d_f32_f32")]] kernel void kernel_conv_transpose_1d( + constant ggml_metal_kargs_conv_transpose_1d & args, device const float * src0, device const float * src1, device char * dst, - constant ggml_metal_kargs_conv_transpose_1d & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tgpg[[threadgroups_per_grid]]); template [[host_name("kernel_conv_transpose_1d_f16_f32")]] kernel void kernel_conv_transpose_1d( + constant ggml_metal_kargs_conv_transpose_1d & args, device const half * src0, device const float * src1, device char * dst, - constant ggml_metal_kargs_conv_transpose_1d & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tgpg[[threadgroups_per_grid]]); kernel void kernel_upscale_f32( + constant ggml_metal_kargs_upscale & args, device const char * src0, device char * dst, - constant ggml_metal_kargs_upscale & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]], uint3 ntg[[threads_per_threadgroup]]) { @@ -4064,9 +4155,9 @@ kernel void kernel_upscale_f32( } kernel void kernel_pad_f32( + constant ggml_metal_kargs_pad & args, device const char * src0, device char * dst, - constant ggml_metal_kargs_pad & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]], uint3 ntg[[threads_per_threadgroup]]) { @@ -4100,9 +4191,9 @@ kernel void kernel_pad_f32( } kernel void kernel_pad_reflect_1d_f32( + constant ggml_metal_kargs_pad_reflect_1d & args, device const char * src0, device char * dst, - constant ggml_metal_kargs_pad_reflect_1d & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tgpg[[threadgroups_per_grid]], uint3 tpitg[[thread_position_in_threadgroup]], @@ -4133,8 +4224,8 @@ kernel void kernel_pad_reflect_1d_f32( } kernel void kernel_arange_f32( - device char * dst, constant ggml_metal_kargs_arange & args, + device char * dst, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]], uint3 ntg[[threads_per_threadgroup]]) { @@ -4147,9 +4238,9 @@ kernel void kernel_arange_f32( } kernel void kernel_timestep_embedding_f32( + constant ggml_metal_kargs_timestep_embedding & args, device const char * src0, device char * dst, - constant ggml_metal_kargs_timestep_embedding & args, uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]], uint3 ntg[[threads_per_threadgroup]]) { @@ -4173,19 +4264,19 @@ kernel void kernel_timestep_embedding_f32( // bitonic sort implementation following the CUDA kernels as reference typedef void (argsort_t)( - device const float * x, - device int32_t * dst, constant ggml_metal_kargs_argsort & args, + device const float * x, + device int32_t * dst, threadgroup int32_t * shared_values [[threadgroup(0)]], uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]]); template kernel void kernel_argsort_f32_i32( - device const float * x, - device int32_t * dst, constant ggml_metal_kargs_argsort & args, - threadgroup int32_t * shared_values [[threadgroup(0)]], + device const float * x, + device int32_t * dst, + threadgroup int32_t * shared_values [[threadgroup(0)]], uint3 tgpig[[threadgroup_position_in_grid]], uint3 tpitg[[thread_position_in_threadgroup]]) { // bitonic sort @@ -4238,11 +4329,21 @@ template [[host_name("kernel_argsort_f32_i32_asc")]] kernel argsort_t kernel_ar template [[host_name("kernel_argsort_f32_i32_desc")]] kernel argsort_t kernel_argsort_f32_i32; kernel void kernel_leaky_relu_f32( + constant ggml_metal_kargs_leaky_relu & args, device const float * src0, device float * dst, - constant ggml_metal_kargs_leaky_relu & args, uint tpig[[thread_position_in_grid]]) { - dst[tpig] = src0[tpig] > 0.0f ? src0[tpig] : src0[tpig] * args.slope; + const float x = src0[tpig]; + dst[tpig] = x > 0.0f ? x : x * args.slope; +} + +kernel void kernel_leaky_relu_f32_4( + constant ggml_metal_kargs_leaky_relu & args, + device const float4 * src0, + device float4 * dst, + uint tpig[[thread_position_in_grid]]) { + const float4 x = src0[tpig]; + dst[tpig] = float4(x > 0.0f)*x + float4(x <= 0.0f)*(x * args.slope); } constant bool FC_flash_attn_ext_has_mask [[function_constant(FC_FLASH_ATTN_EXT + 0)]]; @@ -4884,7 +4985,7 @@ template [[host_name("kernel_flash_attn_ext_f16_dk192_dv128")]] kernel flash_at template [[host_name("kernel_flash_attn_ext_f16_dk256_dv256")]] kernel flash_attn_ext_t kernel_flash_attn_ext; template [[host_name("kernel_flash_attn_ext_f16_dk576_dv512")]] kernel flash_attn_ext_t kernel_flash_attn_ext; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_flash_attn_ext_bf16_dk40_dv40" )]] kernel flash_attn_ext_t kernel_flash_attn_ext; template [[host_name("kernel_flash_attn_ext_bf16_dk64_dv64" )]] kernel flash_attn_ext_t kernel_flash_attn_ext; template [[host_name("kernel_flash_attn_ext_bf16_dk80_dv80" )]] kernel flash_attn_ext_t kernel_flash_attn_ext; @@ -5450,7 +5551,7 @@ kernel void kernel_flash_attn_ext_vec( typedef decltype(kernel_flash_attn_ext_vec) flash_attn_ext_vec_t; template [[host_name("kernel_flash_attn_ext_vec_f16_dk64_dv64")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_flash_attn_ext_vec_bf16_dk64_dv64")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; #endif template [[host_name("kernel_flash_attn_ext_vec_q4_0_dk64_dv64")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; @@ -5460,7 +5561,7 @@ template [[host_name("kernel_flash_attn_ext_vec_q5_1_dk64_dv64")]] kernel flas template [[host_name("kernel_flash_attn_ext_vec_q8_0_dk64_dv64")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; template [[host_name("kernel_flash_attn_ext_vec_f16_dk96_dv96")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_flash_attn_ext_vec_bf16_dk96_dv96")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; #endif template [[host_name("kernel_flash_attn_ext_vec_q4_0_dk96_dv96")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; @@ -5470,7 +5571,7 @@ template [[host_name("kernel_flash_attn_ext_vec_q5_1_dk96_dv96")]] kernel flas template [[host_name("kernel_flash_attn_ext_vec_q8_0_dk96_dv96")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; template [[host_name("kernel_flash_attn_ext_vec_f16_dk128_dv128")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_flash_attn_ext_vec_bf16_dk128_dv128")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; #endif template [[host_name("kernel_flash_attn_ext_vec_q4_0_dk128_dv128")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; @@ -5480,7 +5581,7 @@ template [[host_name("kernel_flash_attn_ext_vec_q5_1_dk128_dv128")]] kernel flas template [[host_name("kernel_flash_attn_ext_vec_q8_0_dk128_dv128")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; template [[host_name("kernel_flash_attn_ext_vec_f16_dk192_dv192")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_flash_attn_ext_vec_bf16_dk192_dv192")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; #endif template [[host_name("kernel_flash_attn_ext_vec_q4_0_dk192_dv192")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; @@ -5490,7 +5591,7 @@ template [[host_name("kernel_flash_attn_ext_vec_q5_1_dk192_dv192")]] kernel flas template [[host_name("kernel_flash_attn_ext_vec_q8_0_dk192_dv192")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; template [[host_name("kernel_flash_attn_ext_vec_f16_dk192_dv128")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_flash_attn_ext_vec_bf16_dk192_dv128")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; #endif template [[host_name("kernel_flash_attn_ext_vec_q4_0_dk192_dv128")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; @@ -5500,7 +5601,7 @@ template [[host_name("kernel_flash_attn_ext_vec_q5_1_dk192_dv128")]] kernel flas template [[host_name("kernel_flash_attn_ext_vec_q8_0_dk192_dv128")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; template [[host_name("kernel_flash_attn_ext_vec_f16_dk256_dv256")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_flash_attn_ext_vec_bf16_dk256_dv256")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; #endif template [[host_name("kernel_flash_attn_ext_vec_q4_0_dk256_dv256")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; @@ -5510,7 +5611,7 @@ template [[host_name("kernel_flash_attn_ext_vec_q5_1_dk256_dv256")]] kernel flas template [[host_name("kernel_flash_attn_ext_vec_q8_0_dk256_dv256")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; template [[host_name("kernel_flash_attn_ext_vec_f16_dk576_dv512")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_flash_attn_ext_vec_bf16_dk576_dv512")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; #endif template [[host_name("kernel_flash_attn_ext_vec_q4_0_dk576_dv512")]] kernel flash_attn_ext_vec_t kernel_flash_attn_ext_vec; @@ -5603,12 +5704,12 @@ template [[host_name("kernel_cpy_f32_f32")]] kernel kernel_cpy_t kernel_cpy; template [[host_name("kernel_cpy_f32_i32")]] kernel kernel_cpy_t kernel_cpy; template [[host_name("kernel_cpy_i32_f32")]] kernel kernel_cpy_t kernel_cpy; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_cpy_f32_bf16")]] kernel kernel_cpy_t kernel_cpy; #endif template [[host_name("kernel_cpy_f16_f32")]] kernel kernel_cpy_t kernel_cpy; template [[host_name("kernel_cpy_f16_f16")]] kernel kernel_cpy_t kernel_cpy; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_cpy_bf16_f32")]] kernel kernel_cpy_t kernel_cpy; template [[host_name("kernel_cpy_bf16_bf16")]] kernel kernel_cpy_t kernel_cpy; #endif @@ -7880,13 +7981,13 @@ kernel void kernel_mul_mm_id_map0( typedef decltype(kernel_mul_mm_id_map0<1>) kernel_mul_mm_id_map0_t; -template [[host_name("kernel_mul_mm_id_map0_f16_ne20_1" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<1>; -template [[host_name("kernel_mul_mm_id_map0_f16_ne20_2" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<2>; -template [[host_name("kernel_mul_mm_id_map0_f16_ne20_4" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<4>; -template [[host_name("kernel_mul_mm_id_map0_f16_ne20_6" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<6>; -template [[host_name("kernel_mul_mm_id_map0_f16_ne20_8" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<8>; -template [[host_name("kernel_mul_mm_id_map0_f16_ne20_10")]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<10>; -template [[host_name("kernel_mul_mm_id_map0_f16_ne20_16")]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<16>; +template [[host_name("kernel_mul_mm_id_map0_ne20_1" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<1>; +template [[host_name("kernel_mul_mm_id_map0_ne20_2" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<2>; +template [[host_name("kernel_mul_mm_id_map0_ne20_4" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<4>; +template [[host_name("kernel_mul_mm_id_map0_ne20_6" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<6>; +template [[host_name("kernel_mul_mm_id_map0_ne20_8" )]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<8>; +template [[host_name("kernel_mul_mm_id_map0_ne20_10")]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<10>; +template [[host_name("kernel_mul_mm_id_map0_ne20_16")]] kernel kernel_mul_mm_id_map0_t kernel_mul_mm_id_map0<16>; template kernel void kernel_mul_mm_id( @@ -8050,7 +8151,7 @@ typedef decltype(kernel_get_rows_f) get_rows_f_t; template [[host_name("kernel_get_rows_f32")]] kernel get_rows_f_t kernel_get_rows_f; template [[host_name("kernel_get_rows_f16")]] kernel get_rows_f_t kernel_get_rows_f; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_get_rows_bf16")]] kernel get_rows_f_t kernel_get_rows_f; #endif @@ -8085,7 +8186,7 @@ typedef decltype(kernel_set_rows_f) set_rows_f_t; template [[host_name("kernel_set_rows_f32")]] kernel set_rows_f_t kernel_set_rows_f; template [[host_name("kernel_set_rows_f16")]] kernel set_rows_f_t kernel_set_rows_f; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_set_rows_bf16")]] kernel set_rows_f_t kernel_set_rows_f; #endif @@ -8106,7 +8207,7 @@ typedef decltype(kernel_mul_mm; template [[host_name("kernel_mul_mm_f16_f32")]] kernel mul_mm_t kernel_mul_mm; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_mul_mm_bf16_f32")]] kernel mul_mm_t kernel_mul_mm; #endif template [[host_name("kernel_mul_mm_q4_0_f32")]] kernel mul_mm_t kernel_mul_mm; @@ -8138,7 +8239,7 @@ typedef decltype(kernel_mul_mm_id; template [[host_name("kernel_mul_mm_id_f16_f16")]] kernel mul_mm_id kernel_mul_mm_id; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_mul_mm_id_bf16_f16")]] kernel mul_mm_id kernel_mul_mm_id; #endif template [[host_name("kernel_mul_mm_id_q4_0_f16")]] kernel mul_mm_id kernel_mul_mm_id; @@ -8282,7 +8383,7 @@ typedef decltype(kernel_mul_mv_id>>; template [[host_name("kernel_mul_mv_id_f16_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -#if defined(GGML_METAL_USE_BF16) +#if defined(GGML_METAL_HAS_BF16) template [[host_name("kernel_mul_mv_id_bf16_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; #endif template [[host_name("kernel_mul_mv_id_q8_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; @@ -8310,12 +8411,12 @@ template [[host_name("kernel_mul_mv_id_iq4_nl_f32")]] kernel kernel_mul_mv_id_t template [[host_name("kernel_mul_mv_id_iq4_xs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; kernel void kernel_pool_2d_max_f32( + constant ggml_metal_kargs_pool_2d & args, device const float * src0, device float * dst, - constant ggml_metal_kargs_pool_2d & args, uint gid[[thread_position_in_grid]]) { - if (gid >= args.parallel_elements) { + if (gid >= args.np) { return; } @@ -8348,12 +8449,12 @@ kernel void kernel_pool_2d_max_f32( } kernel void kernel_pool_2d_avg_f32( + constant ggml_metal_kargs_pool_2d & args, device const float * src0, device float * dst, - constant ggml_metal_kargs_pool_2d & args, uint gid[[thread_position_in_grid]]) { - if (gid >= args.parallel_elements) { + if (gid >= args.np) { return; } diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index b54a1a4e82..ce4a88761c 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -6325,12 +6325,20 @@ static std::vector> make_test_cases_eval() { } for (ggml_type type : {GGML_TYPE_F16, GGML_TYPE_F32}) { - test_cases.emplace_back(new test_sqr(type)); - test_cases.emplace_back(new test_sqrt(type)); - test_cases.emplace_back(new test_log(type)); - test_cases.emplace_back(new test_sin(type)); - test_cases.emplace_back(new test_cos(type)); - test_cases.emplace_back(new test_clamp(type)); + test_cases.emplace_back(new test_sqr (type)); + test_cases.emplace_back(new test_sqrt (type)); + test_cases.emplace_back(new test_log (type)); + test_cases.emplace_back(new test_sin (type)); + test_cases.emplace_back(new test_cos (type)); + test_cases.emplace_back(new test_clamp (type)); + test_cases.emplace_back(new test_leaky_relu(type)); + test_cases.emplace_back(new test_sqr (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_sqrt (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_log (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_sin (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_cos (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_clamp (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_leaky_relu(type, {7, 1, 5, 3})); } test_cases.emplace_back(new test_diag_mask_inf(GGML_TYPE_F32, {10, 10, 1, 1}, 5)); From d304f459d8619399eb232b1e3689379306f439d3 Mon Sep 17 00:00:00 2001 From: Reese Levine Date: Wed, 17 Sep 2025 13:09:40 -0700 Subject: [PATCH 27/52] GGML WebGPU: Support for ADD, MUL, RMS_NORM, GET_ROWS operators (#16018) * Add paramater buffer pool, batching of submissions, refactor command building/submission * Add header for linux builds * Free staged parameter buffers at once * Format with clang-format * Fix thread-safe implementation * Use device implicit synchronization * Update workflow to use custom release * Remove testing branch workflow * some f32 tests passing * Disable set_rows until it's implemented * f32 add all tests passing * Begin work on set_rows * Work on set rows * Add error buffers for reporting unsupported SET_ROWS indices * Remove extra comments * Add templated addition, clean up code * Get addition and multiplication working * Implement rms_norm * Add get_rows implementation * Add new get_rows files * Refactor use of wg size entry * Fix compilation * Try manually unrolled q4_0 quant * Revert "Try manually unrolled q4_0 quant" This reverts commit 77f8b96515f7e640ae4b0e44f066321fbc4a6166. * Move to constant max wg size * Check for tensor size in supports_op * Vectorize f32 and change default workgroup size * Move f32 get_rows from < 4 to % 4 != 0 * fix linter errors * Add in-place tests --------- Co-authored-by: Neha Abbas --- ggml/src/ggml-webgpu/ggml-webgpu.cpp | 707 ++++++++----- .../ggml-webgpu/wgsl-shaders/add.tmpl.wgsl | 44 + .../wgsl-shaders/add_in_place.tmpl.wgsl | 41 + .../ggml-webgpu/wgsl-shaders/binary_head.tmpl | 45 + .../wgsl-shaders/common_decls.tmpl | 930 ++++++++++++++++++ .../ggml-webgpu/wgsl-shaders/embed_wgsl.py | 53 +- .../wgsl-shaders/get_rows.tmpl.wgsl | 874 ++++++++++++++++ .../ggml-webgpu/wgsl-shaders/mul.tmpl.wgsl | 44 + .../wgsl-shaders/mul_in_place.tmpl.wgsl | 41 + .../wgsl-shaders/mul_mat.tmpl.wgsl | 925 +---------------- .../ggml-webgpu/wgsl-shaders/rms_norm.wgsl | 57 ++ .../wgsl-shaders/rms_norm_in_place.wgsl | 48 + .../ggml-webgpu/wgsl-shaders/set_rows.wgsl | 1 - tests/test-backend-ops.cpp | 4 + 14 files changed, 2673 insertions(+), 1141 deletions(-) create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/add.tmpl.wgsl create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/add_in_place.tmpl.wgsl create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/binary_head.tmpl create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/common_decls.tmpl create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/get_rows.tmpl.wgsl create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/mul.tmpl.wgsl create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/mul_in_place.tmpl.wgsl create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/rms_norm.wgsl create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/rms_norm_in_place.wgsl diff --git a/ggml/src/ggml-webgpu/ggml-webgpu.cpp b/ggml/src/ggml-webgpu/ggml-webgpu.cpp index df6a3ed95a..8e7b986df8 100644 --- a/ggml/src/ggml-webgpu/ggml-webgpu.cpp +++ b/ggml/src/ggml-webgpu/ggml-webgpu.cpp @@ -116,6 +116,10 @@ struct webgpu_context_struct { wgpu::Queue queue; wgpu::Limits limits; + // Separate this out from limits since on some Metal systems, the limit returned by + // querying the limits is higher than the actual allowed maximum. + uint32_t max_wg_size_x; + std::recursive_mutex mutex; webgpu_buf_pool param_buf_pool; @@ -124,7 +128,15 @@ struct webgpu_context_struct { wgpu::ComputePipeline memset_pipeline; wgpu::ComputePipeline mul_mat_pipeline[30][2]; wgpu::ComputePipeline set_rows_pipeline; + wgpu::ComputePipeline get_rows_pipeline[30]; + wgpu::ComputePipeline get_rows_f32_no_vec_pipeline; wgpu::ComputePipeline cpy_pipeline; + wgpu::ComputePipeline add_pipeline[2]; + wgpu::ComputePipeline add_ip_pipeline[2]; + wgpu::ComputePipeline mul_pipeline[2]; + wgpu::ComputePipeline mul_ip_pipeline[2]; + wgpu::ComputePipeline rms_norm_pipeline; + wgpu::ComputePipeline rms_norm_ip_pipeline; size_t memset_bytes_per_thread; @@ -232,14 +244,15 @@ static void ggml_backend_webgpu_wait_on_submission(webgpu_context & ctx) { std::lock_guard lock(ctx->mutex); if (ctx->callback_futures.empty()) { // no existing callbacks, wait on queue submission - ctx->instance.WaitAny(ctx->queue.OnSubmittedWorkDone( - wgpu::CallbackMode::AllowSpontaneous, - [](wgpu::QueueWorkDoneStatus status, wgpu::StringView message) { - if (status != wgpu::QueueWorkDoneStatus::Success) { - GGML_LOG_ERROR("ggml_webgpu: Failed to submit commands: %s\n", std::string(message).c_str()); - } - }), - UINT64_MAX); + ctx->instance.WaitAny( + ctx->queue.OnSubmittedWorkDone(wgpu::CallbackMode::AllowSpontaneous, + [](wgpu::QueueWorkDoneStatus status, wgpu::StringView message) { + if (status != wgpu::QueueWorkDoneStatus::Success) { + GGML_LOG_ERROR("ggml_webgpu: Failed to submit commands: %s\n", + std::string(message).c_str()); + } + }), + UINT64_MAX); } else { // existing callbacks, wait on them ctx->instance.WaitAny(ctx->callback_futures.size(), ctx->callback_futures.data(), UINT64_MAX); @@ -286,10 +299,7 @@ static void ggml_backend_webgpu_submit_queue(webgpu_context & ctx) { // Check for errrors in SET_ROWS operations for (auto & error_bufs : staged_set_row_error_bufs) { wgpu::Future f = error_bufs.host_buf.MapAsync( - wgpu::MapMode::Read, - 0, - error_bufs.host_buf.GetSize(), - wgpu::CallbackMode::AllowSpontaneous, + wgpu::MapMode::Read, 0, error_bufs.host_buf.GetSize(), wgpu::CallbackMode::AllowSpontaneous, [ctx, error_bufs](wgpu::MapAsyncStatus status, wgpu::StringView message) { if (status != wgpu::MapAsyncStatus::Success) { GGML_LOG_ERROR("ggml_webgpu: Failed to map error buffer: %s\n", std::string(message).c_str()); @@ -311,10 +321,7 @@ static void ggml_backend_webgpu_map_buffer(webgpu_context & ctx, wgpu::MapMode mode, size_t offset, size_t size) { - ctx->instance.WaitAny(buffer.MapAsync(mode, - offset, - size, - wgpu::CallbackMode::AllowSpontaneous, + ctx->instance.WaitAny(buffer.MapAsync(mode, offset, size, wgpu::CallbackMode::AllowSpontaneous, [](wgpu::MapAsyncStatus status, wgpu::StringView message) { if (status != wgpu::MapAsyncStatus::Success) { GGML_LOG_ERROR("ggml_webgpu: Failed to map buffer: %s\n", @@ -351,7 +358,8 @@ static void ggml_backend_webgpu_build_and_enqueue(webgpu_context & std::vector params, std::vector bind_group_entries, uint32_t wg_x, - bool submit_and_wait = false) { + const char * bind_group_label = nullptr, + bool submit_and_wait = false) { webgpu_pool_bufs params_bufs = ctx->param_buf_pool.alloc_bufs(); ggml_backend_webgpu_map_buffer(ctx, params_bufs.host_buf, wgpu::MapMode::Write, 0, params_bufs.host_buf.GetSize()); @@ -372,6 +380,9 @@ static void ggml_backend_webgpu_build_and_enqueue(webgpu_context & bind_group_desc.layout = pipeline.GetBindGroupLayout(0); bind_group_desc.entryCount = bind_group_entries.size(); bind_group_desc.entries = bind_group_entries.data(); + if (bind_group_label) { + bind_group_desc.label = bind_group_label; + } wgpu::BindGroup bind_group = ctx->device.CreateBindGroup(&bind_group_desc); wgpu::CommandEncoder encoder = ctx->device.CreateCommandEncoder(); @@ -415,9 +426,9 @@ static void ggml_backend_webgpu_buffer_memset(webgpu_context & ctx, std::vector entries = { { .binding = 0, .buffer = buf, .offset = 0, .size = buf.GetSize() } }; - size_t bytes_per_wg = ctx->limits.maxComputeWorkgroupSizeX * ctx->memset_bytes_per_thread; + size_t bytes_per_wg = ctx->max_wg_size_x * ctx->memset_bytes_per_thread; uint32_t wg_x = ((size + 3) + bytes_per_wg - 1) / bytes_per_wg; - ggml_backend_webgpu_build_and_enqueue(ctx, ctx->memset_pipeline, params, entries, wg_x, true); + ggml_backend_webgpu_build_and_enqueue(ctx, ctx->memset_pipeline, params, entries, wg_x, "MEMSET", true); } /** End WebGPU Actions */ @@ -461,26 +472,26 @@ static size_t ggml_webgpu_tensor_binding_size(webgpu_context & ctx, ggml_tensor ~(WEBGPU_STORAGE_BUF_BINDING_MULT - 1); } +// Used to determine if two tensors are the same for in-place operations +static bool ggml_webgpu_tensor_equal(ggml_tensor * a, ggml_tensor * b) { + return (ggml_webgpu_tensor_buf(a).Get() == ggml_webgpu_tensor_buf(b).Get()) && + (ggml_webgpu_tensor_offset(a) == ggml_webgpu_tensor_offset(b)); +} + static void ggml_webgpu_cpy(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) { uint32_t ne = (uint32_t) ggml_nelements(dst); - std::vector params = { ne, - (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, src) / ggml_type_size(src->type)), - (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, dst) / ggml_type_size(dst->type)), - // Convert byte-strides to element-strides - (uint32_t) (src->nb[0] / ggml_type_size(src->type)), - (uint32_t) (src->nb[1] / ggml_type_size(src->type)), - (uint32_t) (src->nb[2] / ggml_type_size(src->type)), - (uint32_t) (src->nb[3] / ggml_type_size(src->type)), - (uint32_t) (dst->nb[0] / ggml_type_size(dst->type)), - (uint32_t) (dst->nb[1] / ggml_type_size(dst->type)), - (uint32_t) (dst->nb[2] / ggml_type_size(dst->type)), - (uint32_t) (dst->nb[3] / ggml_type_size(dst->type)), - // Logical shape — same for both tensors even if permuted - (uint32_t) src->ne[0], - (uint32_t) src->ne[1], - (uint32_t) src->ne[2], - (uint32_t) src->ne[3] }; + std::vector params = { + ne, (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, src) / ggml_type_size(src->type)), + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, dst) / ggml_type_size(dst->type)), + // Convert byte-strides to element-strides + (uint32_t) (src->nb[0] / ggml_type_size(src->type)), (uint32_t) (src->nb[1] / ggml_type_size(src->type)), + (uint32_t) (src->nb[2] / ggml_type_size(src->type)), (uint32_t) (src->nb[3] / ggml_type_size(src->type)), + (uint32_t) (dst->nb[0] / ggml_type_size(dst->type)), (uint32_t) (dst->nb[1] / ggml_type_size(dst->type)), + (uint32_t) (dst->nb[2] / ggml_type_size(dst->type)), (uint32_t) (dst->nb[3] / ggml_type_size(dst->type)), + // Logical shape — same for both tensors even if permuted + (uint32_t) src->ne[0], (uint32_t) src->ne[1], (uint32_t) src->ne[2], (uint32_t) src->ne[3] + }; std::vector entries = { { .binding = 0, @@ -493,9 +504,9 @@ static void ggml_webgpu_cpy(webgpu_context & ctx, ggml_tensor * src, ggml_tensor .size = ggml_webgpu_tensor_binding_size(ctx, dst) } }; - size_t max_wg_size = ctx->limits.maxComputeWorkgroupSizeX; + size_t max_wg_size = ctx->max_wg_size_x; uint32_t wg_x = (ne + max_wg_size - 1) / max_wg_size; - ggml_backend_webgpu_build_and_enqueue(ctx, ctx->cpy_pipeline, params, entries, wg_x); + ggml_backend_webgpu_build_and_enqueue(ctx, ctx->cpy_pipeline, params, entries, wg_x, ggml_op_name(dst->op)); } static void ggml_webgpu_set_rows(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * idx, ggml_tensor * dst) { @@ -509,27 +520,21 @@ static void ggml_webgpu_set_rows(webgpu_context & ctx, ggml_tensor * src, ggml_t error_bufs.host_buf.Unmap(); } - std::vector params = { (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, src) / ggml_type_size(src->type)), - (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, idx) / ggml_type_size(idx->type)), - (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, dst) / ggml_type_size(dst->type)), - // Convert byte-strides to element-strides - (uint32_t) (src->nb[1] / ggml_type_size(src->type)), - (uint32_t) (src->nb[2] / ggml_type_size(src->type)), - (uint32_t) (src->nb[3] / ggml_type_size(src->type)), - (uint32_t) (idx->nb[0] / ggml_type_size(idx->type)), - (uint32_t) (idx->nb[1] / ggml_type_size(idx->type)), - (uint32_t) (idx->nb[2] / ggml_type_size(idx->type)), - (uint32_t) (dst->nb[1] / ggml_type_size(dst->type)), - (uint32_t) (dst->nb[2] / ggml_type_size(dst->type)), - (uint32_t) (dst->nb[3] / ggml_type_size(dst->type)), - // Shape of src - (uint32_t) src->ne[0], - (uint32_t) src->ne[1], - (uint32_t) src->ne[2], - (uint32_t) src->ne[3], - // Shape of idx - (uint32_t) (idx->ne[1]), - (uint32_t) (idx->ne[2]) }; + std::vector params = { + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, src) / ggml_type_size(src->type)), + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, idx) / ggml_type_size(idx->type)), + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, dst) / ggml_type_size(dst->type)), + // Convert byte-strides to element-strides + (uint32_t) (src->nb[1] / ggml_type_size(src->type)), (uint32_t) (src->nb[2] / ggml_type_size(src->type)), + (uint32_t) (src->nb[3] / ggml_type_size(src->type)), (uint32_t) (idx->nb[0] / ggml_type_size(idx->type)), + (uint32_t) (idx->nb[1] / ggml_type_size(idx->type)), (uint32_t) (idx->nb[2] / ggml_type_size(idx->type)), + (uint32_t) (dst->nb[1] / ggml_type_size(dst->type)), (uint32_t) (dst->nb[2] / ggml_type_size(dst->type)), + (uint32_t) (dst->nb[3] / ggml_type_size(dst->type)), + // Shape of src + (uint32_t) src->ne[0], (uint32_t) src->ne[1], (uint32_t) src->ne[2], (uint32_t) src->ne[3], + // Shape of idx + (uint32_t) (idx->ne[1]), (uint32_t) (idx->ne[2]) + }; std::vector entries = { { .binding = 0, @@ -547,13 +552,55 @@ static void ggml_webgpu_set_rows(webgpu_context & ctx, ggml_tensor * src, ggml_t { .binding = 3, .buffer = error_bufs.dev_buf, .offset = 0, .size = error_bufs.dev_buf.GetSize() } }; - size_t max_wg_size = ctx->limits.maxComputeWorkgroupSizeX; + size_t max_wg_size = ctx->max_wg_size_x; uint32_t wg_x = (src->ne[1] * src->ne[2] * src->ne[3] + max_wg_size - 1) / max_wg_size; std::lock_guard lock(ctx->mutex); ctx->staged_set_row_error_bufs.push_back(error_bufs); - ggml_backend_webgpu_build_and_enqueue(ctx, ctx->set_rows_pipeline, params, entries, wg_x); + ggml_backend_webgpu_build_and_enqueue(ctx, ctx->set_rows_pipeline, params, entries, wg_x, ggml_op_name(dst->op)); +} + +static void ggml_webgpu_get_rows(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * idx, ggml_tensor * dst) { + std::vector params = { + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, src) / ggml_type_size(src->type)), + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, idx) / ggml_type_size(idx->type)), + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, dst) / ggml_type_size(dst->type)), + // Convert byte-strides to element-strides + (uint32_t) (src->nb[1] / ggml_type_size(src->type)), (uint32_t) (src->nb[2] / ggml_type_size(src->type)), + (uint32_t) (src->nb[3] / ggml_type_size(src->type)), (uint32_t) (idx->nb[0] / ggml_type_size(idx->type)), + (uint32_t) (idx->nb[1] / ggml_type_size(idx->type)), (uint32_t) (idx->nb[2] / ggml_type_size(idx->type)), + (uint32_t) (dst->nb[1] / ggml_type_size(dst->type)), (uint32_t) (dst->nb[2] / ggml_type_size(dst->type)), + (uint32_t) (dst->nb[3] / ggml_type_size(dst->type)), + // Shape of dst + (uint32_t) dst->ne[0], (uint32_t) dst->ne[1], (uint32_t) dst->ne[2], (uint32_t) dst->ne[3], + // Shape of idx + (uint32_t) (idx->ne[1]), (uint32_t) (idx->ne[2]) + }; + + std::vector entries = { + { .binding = 0, + .buffer = ggml_webgpu_tensor_buf(src), + .offset = ggml_webgpu_tensor_align_offset(ctx, src), + .size = ggml_webgpu_tensor_binding_size(ctx, src) }, + { .binding = 1, + .buffer = ggml_webgpu_tensor_buf(idx), + .offset = ggml_webgpu_tensor_align_offset(ctx, idx), + .size = ggml_webgpu_tensor_binding_size(ctx, idx) }, + { .binding = 2, + .buffer = ggml_webgpu_tensor_buf(dst), + .offset = ggml_webgpu_tensor_align_offset(ctx, dst), + .size = ggml_webgpu_tensor_binding_size(ctx, dst) } + }; + + size_t max_wg_size = ctx->max_wg_size_x; + uint32_t wg_x = (dst->ne[1] * dst->ne[2] * dst->ne[3] + max_wg_size - 1) / max_wg_size; + + wgpu::ComputePipeline pipeline = ctx->get_rows_pipeline[src->type]; + if (src->type == GGML_TYPE_F32 && dst->ne[0] % 4 != 0) { + pipeline = ctx->get_rows_f32_no_vec_pipeline; + } + ggml_backend_webgpu_build_and_enqueue(ctx, pipeline, params, entries, wg_x, ggml_op_name(dst->op)); } static void ggml_webgpu_mul_mat(webgpu_context & ctx, ggml_tensor * src0, ggml_tensor * src1, ggml_tensor * dst) { @@ -593,7 +640,104 @@ static void ggml_webgpu_mul_mat(webgpu_context & ctx, ggml_tensor * src0, ggml_t uint32_t wg_x = (dst->ne[0] * dst->ne[1] * dst->ne[2] * dst->ne[3] + WEBGPU_MUL_MAT_WG_SIZE - 1) / WEBGPU_MUL_MAT_WG_SIZE; - ggml_backend_webgpu_build_and_enqueue(ctx, ctx->mul_mat_pipeline[src0->type][src1->type], params, entries, wg_x); + ggml_backend_webgpu_build_and_enqueue(ctx, ctx->mul_mat_pipeline[src0->type][src1->type], params, entries, wg_x, + ggml_op_name(dst->op)); +} + +static void ggml_webgpu_binary_op(webgpu_context & ctx, + ggml_tensor * src0, + ggml_tensor * src1, + ggml_tensor * dst, + wgpu::ComputePipeline & pipeline, + bool in_place) { + std::vector params = { + (uint32_t) ggml_nelements(dst), + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, src0) / ggml_type_size(src0->type)), + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, src1) / ggml_type_size(src1->type)), + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, dst) / ggml_type_size(dst->type)), + (uint32_t) (src1->nb[0] / ggml_type_size(src1->type)), + (uint32_t) (src1->nb[1] / ggml_type_size(src1->type)), + (uint32_t) (src1->nb[2] / ggml_type_size(src1->type)), + (uint32_t) (src1->nb[3] / ggml_type_size(src1->type)), + (uint32_t) src0->ne[0], + (uint32_t) src0->ne[1], + (uint32_t) src0->ne[2], + (uint32_t) src1->ne[0], + (uint32_t) src1->ne[1], + (uint32_t) src1->ne[2], + (uint32_t) src1->ne[3], + }; + + std::vector entries = { + { .binding = 0, + .buffer = ggml_webgpu_tensor_buf(src0), + .offset = ggml_webgpu_tensor_align_offset(ctx, src0), + .size = ggml_webgpu_tensor_binding_size(ctx, src0) }, + { .binding = 1, + .buffer = ggml_webgpu_tensor_buf(src1), + .offset = ggml_webgpu_tensor_align_offset(ctx, src1), + .size = ggml_webgpu_tensor_binding_size(ctx, src1) } + }; + if (!in_place) { + entries.push_back({ .binding = 2, + .buffer = ggml_webgpu_tensor_buf(dst), + .offset = ggml_webgpu_tensor_align_offset(ctx, dst), + .size = ggml_webgpu_tensor_binding_size(ctx, dst) }); + } + + size_t max_wg_size = ctx->max_wg_size_x; + uint32_t wg_x = (ggml_nelements(dst) + max_wg_size - 1) / max_wg_size; + ggml_backend_webgpu_build_and_enqueue(ctx, pipeline, params, entries, wg_x, ggml_op_name(dst->op)); +} + +static void ggml_webgpu_rms_norm(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) { + bool in_place = ggml_webgpu_tensor_equal(src, dst); + + uint32_t eps; + memcpy(&eps, dst->op_params, sizeof(float)); + + std::vector params = { + (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, src) / ggml_type_size(src->type)), + }; + if (!in_place) { + params.push_back((uint32_t) (ggml_webgpu_tensor_misalignment(ctx, dst) / ggml_type_size(dst->type))); + } + params.push_back((uint32_t) (src->nb[1] / ggml_type_size(src->type))); + params.push_back((uint32_t) (src->nb[2] / ggml_type_size(src->type))); + params.push_back((uint32_t) (src->nb[3] / ggml_type_size(src->type))); + if (!in_place) { + params.push_back((uint32_t) (dst->nb[1] / ggml_type_size(dst->type))); + params.push_back((uint32_t) (dst->nb[2] / ggml_type_size(dst->type))); + params.push_back((uint32_t) (dst->nb[3] / ggml_type_size(dst->type))); + } + params.push_back((uint32_t) src->ne[0]); + params.push_back((uint32_t) src->ne[1]); + params.push_back((uint32_t) src->ne[2]); + params.push_back((uint32_t) src->ne[3]); + params.push_back(eps); // epsilon, will be bitcast to float in shader + + std::vector entries = { + { .binding = 0, + .buffer = ggml_webgpu_tensor_buf(src), + .offset = ggml_webgpu_tensor_align_offset(ctx, src), + .size = ggml_webgpu_tensor_binding_size(ctx, src) } + }; + if (!in_place) { + entries.push_back({ .binding = 1, + .buffer = ggml_webgpu_tensor_buf(dst), + .offset = ggml_webgpu_tensor_align_offset(ctx, dst), + .size = ggml_webgpu_tensor_binding_size(ctx, dst) }); + } + + wgpu::ComputePipeline pipeline; + if (in_place) { + pipeline = ctx->rms_norm_ip_pipeline; + } else { + pipeline = ctx->rms_norm_pipeline; + } + size_t max_wg_size = ctx->max_wg_size_x; + uint32_t wg_x = (src->ne[1] * src->ne[2] * src->ne[3] + max_wg_size - 1) / max_wg_size; + ggml_backend_webgpu_build_and_enqueue(ctx, pipeline, params, entries, wg_x, ggml_op_name(dst->op)); } // Returns true if node has enqueued work into the queue, false otherwise @@ -615,20 +759,34 @@ static bool ggml_webgpu_encode_node(webgpu_context ctx, ggml_tensor * node) { case GGML_OP_RESHAPE: return false; case GGML_OP_CPY: - { - ggml_webgpu_cpy(ctx, src0, node); - break; - } + ggml_webgpu_cpy(ctx, src0, node); + break; case GGML_OP_SET_ROWS: - { - ggml_webgpu_set_rows(ctx, src0, src1, node); - break; - } + ggml_webgpu_set_rows(ctx, src0, src1, node); + break; + case GGML_OP_GET_ROWS: + ggml_webgpu_get_rows(ctx, src0, src1, node); + break; case GGML_OP_MUL_MAT: - { - ggml_webgpu_mul_mat(ctx, src0, src1, node); - break; + ggml_webgpu_mul_mat(ctx, src0, src1, node); + break; + case GGML_OP_ADD: + if (ggml_webgpu_tensor_equal(src0, node)) { + ggml_webgpu_binary_op(ctx, src0, src1, node, ctx->add_ip_pipeline[node->type], true); + } else { + ggml_webgpu_binary_op(ctx, src0, src1, node, ctx->add_pipeline[node->type], false); } + break; + case GGML_OP_MUL: + if (ggml_webgpu_tensor_equal(src0, node)) { + ggml_webgpu_binary_op(ctx, src0, src1, node, ctx->mul_ip_pipeline[node->type], true); + } else { + ggml_webgpu_binary_op(ctx, src0, src1, node, ctx->mul_pipeline[node->type], false); + } + break; + case GGML_OP_RMS_NORM: + ggml_webgpu_rms_norm(ctx, src0, node); + break; default: return false; } @@ -731,8 +889,8 @@ static void ggml_backend_webgpu_buffer_set_tensor(ggml_backend_buffer_t buffer, ((uint8_t *) &val32)[i] = ((const uint8_t *) data)[size - remaining_size + i]; } // memset the remaining bytes - ggml_backend_webgpu_buffer_memset( - webgpu_ctx, buf_ctx->buffer, val32, total_offset + (size - remaining_size), remaining_size); + ggml_backend_webgpu_buffer_memset(webgpu_ctx, buf_ctx->buffer, val32, total_offset + (size - remaining_size), + remaining_size); } else { // wait for WriteBuffer to complete ggml_backend_webgpu_wait_on_submission(webgpu_ctx); @@ -766,11 +924,8 @@ static void ggml_backend_webgpu_buffer_get_tensor(ggml_backend_buffer_t buffer, if (webgpu_ctx->get_tensor_staging_buf) { webgpu_ctx->get_tensor_staging_buf.Destroy(); } - ggml_webgpu_create_buffer(device, - webgpu_ctx->get_tensor_staging_buf, - final_size, - wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::MapRead, - "get_tensor_staging_buf"); + ggml_webgpu_create_buffer(device, webgpu_ctx->get_tensor_staging_buf, final_size, + wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::MapRead, "get_tensor_staging_buf"); } // Copy the data from the buffer to the staging buffer @@ -824,8 +979,7 @@ static ggml_backend_buffer_t ggml_backend_webgpu_buffer_type_alloc_buffer(ggml_b ggml_backend_webgpu_device_context * ctx = static_cast(buft->device->context); wgpu::Buffer buf; - ggml_webgpu_create_buffer(ctx->webgpu_ctx->device, - buf, + ggml_webgpu_create_buffer(ctx->webgpu_ctx->device, buf, (size + WEBGPU_STORAGE_BUF_BINDING_MULT - 1) & ~(WEBGPU_STORAGE_BUF_BINDING_MULT - 1), wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::CopyDst, "allocated_buffer"); @@ -890,9 +1044,17 @@ static ggml_guid_t ggml_backend_webgpu_guid(void) { return reinterpret_cast((void *) guid_str); } +// The max workgroup size is a common constant +static std::vector ggml_webgpu_max_wg_size_entry(webgpu_context & webgpu_ctx) { + std::vector constants(1); + constants[0].key = "wg_size"; + constants[0].value = webgpu_ctx->max_wg_size_x; + return constants; +} + static void ggml_webgpu_init_memset_pipeline(webgpu_context & webgpu_ctx) { // we use the maximum workgroup size for the memset pipeline - size_t max_wg_size = webgpu_ctx->limits.maxComputeWorkgroupSizeX; + size_t max_wg_size = webgpu_ctx->max_wg_size_x; size_t max_threads = max_wg_size * webgpu_ctx->limits.maxComputeWorkgroupsPerDimension; // Size the bytes_per_thread so that the largest buffer size can be handled webgpu_ctx->memset_bytes_per_thread = @@ -906,109 +1068,142 @@ static void ggml_webgpu_init_memset_pipeline(webgpu_context & webgpu_ctx) { } static void ggml_webgpu_init_mul_mat_pipeline(webgpu_context & webgpu_ctx) { - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_F32][GGML_TYPE_F32], - wgsl_mul_mat_f32_f32, - "mul_mat_f32_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_F16][GGML_TYPE_F16], - wgsl_mul_mat_f16_f16, - "mul_mat_f16_f16"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_F16][GGML_TYPE_F32], - wgsl_mul_mat_f16_f32, - "mul_mat_f16_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q4_0][GGML_TYPE_F32], - wgsl_mul_mat_q4_0_f32, - "mul_mat_q4_0_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q4_1][GGML_TYPE_F32], - wgsl_mul_mat_q4_1_f32, - "mul_mat_q4_1_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q5_0][GGML_TYPE_F32], - wgsl_mul_mat_q5_0_f32, - "mul_mat_q5_0_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q5_1][GGML_TYPE_F32], - wgsl_mul_mat_q5_1_f32, - "mul_mat_q5_1_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q8_0][GGML_TYPE_F32], - wgsl_mul_mat_q8_0_f32, - "mul_mat_q8_0_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q2_K][GGML_TYPE_F32], - wgsl_mul_mat_q2_k_f32, - "mul_mat_q2_k_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q3_K][GGML_TYPE_F32], - wgsl_mul_mat_q3_k_f32, - "mul_mat_q3_k_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q4_K][GGML_TYPE_F32], - wgsl_mul_mat_q4_k_f32, - "mul_mat_q4_k_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q5_K][GGML_TYPE_F32], - wgsl_mul_mat_q5_k_f32, - "mul_mat_q5_k_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q6_K][GGML_TYPE_F32], - wgsl_mul_mat_q6_k_f32, - "mul_mat_q6_k_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ2_XXS][GGML_TYPE_F32], - wgsl_mul_mat_iq2_xxs_f32, - "mul_mat_iq2_xxs_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ2_XS][GGML_TYPE_F32], - wgsl_mul_mat_iq2_xs_f32, - "mul_mat_iq2_xs_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ2_S][GGML_TYPE_F32], - wgsl_mul_mat_iq2_s_f32, - "mul_mat_iq2_s_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ3_XXS][GGML_TYPE_F32], - wgsl_mul_mat_iq3_xxs_f32, - "mul_mat_iq3_xxs_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ3_S][GGML_TYPE_F32], - wgsl_mul_mat_iq3_s_f32, - "mul_mat_iq3_s_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ1_S][GGML_TYPE_F32], - wgsl_mul_mat_iq1_s_f32, - "mul_mat_iq1_s_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ1_M][GGML_TYPE_F32], - wgsl_mul_mat_iq1_m_f32, - "mul_mat_iq1_m_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ4_NL][GGML_TYPE_F32], - wgsl_mul_mat_iq4_nl_f32, - "mul_mat_iq4_nl_f32"); - ggml_webgpu_create_pipeline(webgpu_ctx->device, - webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ4_XS][GGML_TYPE_F32], - wgsl_mul_mat_iq4_xs_f32, - "mul_mat_iq4_xs_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_F32][GGML_TYPE_F32], + wgsl_mul_mat_f32_f32, "mul_mat_f32_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_F16][GGML_TYPE_F16], + wgsl_mul_mat_f16_f16, "mul_mat_f16_f16"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_F16][GGML_TYPE_F32], + wgsl_mul_mat_f16_f32, "mul_mat_f16_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q4_0][GGML_TYPE_F32], + wgsl_mul_mat_q4_0_f32, "mul_mat_q4_0_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q4_1][GGML_TYPE_F32], + wgsl_mul_mat_q4_1_f32, "mul_mat_q4_1_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q5_0][GGML_TYPE_F32], + wgsl_mul_mat_q5_0_f32, "mul_mat_q5_0_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q5_1][GGML_TYPE_F32], + wgsl_mul_mat_q5_1_f32, "mul_mat_q5_1_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q8_0][GGML_TYPE_F32], + wgsl_mul_mat_q8_0_f32, "mul_mat_q8_0_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q2_K][GGML_TYPE_F32], + wgsl_mul_mat_q2_k_f32, "mul_mat_q2_k_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q3_K][GGML_TYPE_F32], + wgsl_mul_mat_q3_k_f32, "mul_mat_q3_k_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q4_K][GGML_TYPE_F32], + wgsl_mul_mat_q4_k_f32, "mul_mat_q4_k_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q5_K][GGML_TYPE_F32], + wgsl_mul_mat_q5_k_f32, "mul_mat_q5_k_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_Q6_K][GGML_TYPE_F32], + wgsl_mul_mat_q6_k_f32, "mul_mat_q6_k_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ2_XXS][GGML_TYPE_F32], + wgsl_mul_mat_iq2_xxs_f32, "mul_mat_iq2_xxs_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ2_XS][GGML_TYPE_F32], + wgsl_mul_mat_iq2_xs_f32, "mul_mat_iq2_xs_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ2_S][GGML_TYPE_F32], + wgsl_mul_mat_iq2_s_f32, "mul_mat_iq2_s_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ3_XXS][GGML_TYPE_F32], + wgsl_mul_mat_iq3_xxs_f32, "mul_mat_iq3_xxs_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ3_S][GGML_TYPE_F32], + wgsl_mul_mat_iq3_s_f32, "mul_mat_iq3_s_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ1_S][GGML_TYPE_F32], + wgsl_mul_mat_iq1_s_f32, "mul_mat_iq1_s_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ1_M][GGML_TYPE_F32], + wgsl_mul_mat_iq1_m_f32, "mul_mat_iq1_m_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ4_NL][GGML_TYPE_F32], + wgsl_mul_mat_iq4_nl_f32, "mul_mat_iq4_nl_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_mat_pipeline[GGML_TYPE_IQ4_XS][GGML_TYPE_F32], + wgsl_mul_mat_iq4_xs_f32, "mul_mat_iq4_xs_f32"); } static void ggml_webgpu_init_set_rows_pipeline(webgpu_context & webgpu_ctx) { - std::vector constants(1); - constants[0].key = "wg_size"; - constants[0].value = webgpu_ctx->limits.maxComputeWorkgroupSizeX; - ggml_webgpu_create_pipeline( - webgpu_ctx->device, webgpu_ctx->set_rows_pipeline, wgsl_set_rows, "set_rows", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->set_rows_pipeline, wgsl_set_rows, "set_rows", + ggml_webgpu_max_wg_size_entry(webgpu_ctx)); +} + +static void ggml_webgpu_init_get_rows_pipeline(webgpu_context & webgpu_ctx) { + std::vector constants = ggml_webgpu_max_wg_size_entry(webgpu_ctx); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_F32], wgsl_get_rows_f32_vec, + "get_rows_f32_vec", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_f32_no_vec_pipeline, wgsl_get_rows_f32, + "get_rows_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_F16], wgsl_get_rows_f16, + "get_rows_f16", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_I32], wgsl_get_rows_i32, + "get_rows_i32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_Q4_0], wgsl_get_rows_q4_0, + "get_rows_q4_0", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_Q4_1], wgsl_get_rows_q4_1, + "get_rows_q4_1", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_Q5_0], wgsl_get_rows_q5_0, + "get_rows_q5_0", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_Q5_1], wgsl_get_rows_q5_1, + "get_rows_q5_1", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_Q8_0], wgsl_get_rows_q8_0, + "get_rows_q8_0", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_Q2_K], wgsl_get_rows_q2_k, + "get_rows_q2_k", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_Q3_K], wgsl_get_rows_q3_k, + "get_rows_q3_k", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_Q4_K], wgsl_get_rows_q4_k, + "get_rows_q4_k", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_Q5_K], wgsl_get_rows_q5_k, + "get_rows_q5_k", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_Q6_K], wgsl_get_rows_q6_k, + "get_rows_q6_k", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_IQ2_XXS], + wgsl_get_rows_iq2_xxs, "get_rows_iq2_xxs", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_IQ2_XS], + wgsl_get_rows_iq2_xs, "get_rows_iq2_xs", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_IQ2_S], wgsl_get_rows_iq2_s, + "get_rows_iq2_s", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_IQ3_XXS], + wgsl_get_rows_iq3_xxs, "get_rows_iq3_xxs", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_IQ3_S], wgsl_get_rows_iq3_s, + "get_rows_iq3_s", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_IQ1_S], wgsl_get_rows_iq1_s, + "get_rows_iq1_s", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_IQ1_M], wgsl_get_rows_iq1_m, + "get_rows_iq1_m", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_IQ4_NL], + wgsl_get_rows_iq4_nl, "get_rows_iq4_nl", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->get_rows_pipeline[GGML_TYPE_IQ4_XS], + wgsl_get_rows_iq4_xs, "get_rows_iq4_xs", constants); } static void ggml_webgpu_init_cpy_pipeline(webgpu_context & webgpu_ctx) { - std::vector constants(1); - constants[0].key = "wg_size"; - constants[0].value = webgpu_ctx->limits.maxComputeWorkgroupSizeX; - ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->cpy_pipeline, wgsl_cpy, "cpy", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->cpy_pipeline, wgsl_cpy, "cpy", + ggml_webgpu_max_wg_size_entry(webgpu_ctx)); +} + +static void ggml_webgpu_init_add_pipeline(webgpu_context & webgpu_ctx) { + std::vector constants = ggml_webgpu_max_wg_size_entry(webgpu_ctx); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->add_pipeline[GGML_TYPE_F32], wgsl_add_f32, "add_f32", + constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->add_pipeline[GGML_TYPE_F16], wgsl_add_f16, "add_f16", + constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->add_ip_pipeline[GGML_TYPE_F32], wgsl_add_in_place_f32, + "add_in_place_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->add_ip_pipeline[GGML_TYPE_F16], wgsl_add_in_place_f16, + "add_in_place_f16", constants); +} + +static void ggml_webgpu_init_mul_pipeline(webgpu_context & webgpu_ctx) { + std::vector constants = ggml_webgpu_max_wg_size_entry(webgpu_ctx); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_pipeline[GGML_TYPE_F32], wgsl_mul_f32, "mul_f32", + constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_pipeline[GGML_TYPE_F16], wgsl_mul_f16, "mul_f16", + constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_ip_pipeline[GGML_TYPE_F32], wgsl_mul_in_place_f32, + "mul_in_place_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->mul_ip_pipeline[GGML_TYPE_F16], wgsl_mul_in_place_f16, + "mul_in_place_f16", constants); +} + +static void ggml_webgpu_init_rms_norm_pipeline(webgpu_context & webgpu_ctx) { + std::vector constants = ggml_webgpu_max_wg_size_entry(webgpu_ctx); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->rms_norm_pipeline, wgsl_rms_norm, "rms_norm", + constants); + ggml_webgpu_create_pipeline(webgpu_ctx->device, webgpu_ctx->rms_norm_ip_pipeline, wgsl_rms_norm_in_place, + "rms_norm_in_place", constants); } static ggml_backend_t ggml_backend_webgpu_device_init(ggml_backend_dev_t dev, const char * params) { @@ -1058,24 +1253,77 @@ static bool ggml_backend_webgpu_device_supports_buft(ggml_backend_dev_t dev, ggm return buft->iface.get_name == ggml_backend_webgpu_buffer_type_get_name; } -static bool ggml_backend_webgpu_device_supports_op(ggml_backend_dev_t dev, const ggml_tensor * op) { - GGML_UNUSED(dev); +static bool ggml_webgpu_supported_qtype(ggml_type type) { + switch (type) { + case GGML_TYPE_Q4_0: + case GGML_TYPE_Q4_1: + case GGML_TYPE_Q5_0: + case GGML_TYPE_Q5_1: + case GGML_TYPE_Q8_0: + case GGML_TYPE_Q2_K: + case GGML_TYPE_Q3_K: + case GGML_TYPE_Q4_K: + case GGML_TYPE_Q5_K: + case GGML_TYPE_Q6_K: + case GGML_TYPE_IQ2_XXS: + case GGML_TYPE_IQ2_XS: + case GGML_TYPE_IQ2_S: + case GGML_TYPE_IQ3_XXS: + case GGML_TYPE_IQ3_S: + case GGML_TYPE_IQ1_S: + case GGML_TYPE_IQ1_M: + case GGML_TYPE_IQ4_NL: + case GGML_TYPE_IQ4_XS: + return true; + default: + return false; + } +} +static bool ggml_backend_webgpu_device_supports_op(ggml_backend_dev_t dev, const ggml_tensor * op) { + ggml_backend_webgpu_device_context * ctx = static_cast(dev->context); + + webgpu_context webgpu_ctx = ctx->webgpu_ctx; + + ggml_tensor * src0 = op->src[0]; + ggml_tensor * src1 = op->src[1]; + // on smaller devices (or CI), tensors may be larger than the max storage buffer size + if (ggml_nbytes(op) > webgpu_ctx->limits.maxStorageBufferBindingSize || + (src0 != nullptr && ggml_nbytes(src0) > webgpu_ctx->limits.maxStorageBufferBindingSize) || + (src1 != nullptr && ggml_nbytes(src1) > webgpu_ctx->limits.maxStorageBufferBindingSize)) { + return false; + } + + bool supports_op = false; switch (op->op) { case GGML_OP_NONE: case GGML_OP_VIEW: case GGML_OP_PERMUTE: case GGML_OP_TRANSPOSE: case GGML_OP_RESHAPE: - return true; + supports_op = true; + break; + case GGML_OP_ADD: + case GGML_OP_MUL: + supports_op = (op->type == GGML_TYPE_F32 || op->type == GGML_TYPE_F16) && (op->src[0]->type == op->type) && + (op->src[1]->type == op->type); + break; case GGML_OP_CPY: case GGML_OP_SET_ROWS: - return op->type == GGML_TYPE_F16 && op->src[0]->type == GGML_TYPE_F32; + supports_op = (op->type == GGML_TYPE_F16 && op->src[0]->type == GGML_TYPE_F32); + break; + case GGML_OP_GET_ROWS: + if (op->src[0]->type == GGML_TYPE_F32 || op->src[0]->type == GGML_TYPE_F16 || + op->src[0]->type == GGML_TYPE_I32 || ggml_webgpu_supported_qtype(op->src[0]->type)) { + supports_op = (op->type == GGML_TYPE_F32); + } + break; case GGML_OP_MUL_MAT: { switch (op->src[1]->type) { case GGML_TYPE_F16: - return op->src[0]->type == GGML_TYPE_F16; + supports_op = (op->src[0]->type == GGML_TYPE_F16); + break; case GGML_TYPE_F32: switch (op->src[0]->type) { case GGML_TYPE_F32: @@ -1099,17 +1347,30 @@ static bool ggml_backend_webgpu_device_supports_op(ggml_backend_dev_t dev, const case GGML_TYPE_IQ1_M: case GGML_TYPE_IQ4_NL: case GGML_TYPE_IQ4_XS: - return true; + supports_op = true; + break; default: - return false; + break; } default: - return false; + break; } + break; } + case GGML_OP_RMS_NORM: + supports_op = op->type == GGML_TYPE_F32 && op->src[0]->type == GGML_TYPE_F32; + break; default: - return false; + break; } +#ifdef GGML_WEBGPU_DEBUG + if (!supports_op) { + WEBGPU_LOG_DEBUG("not supported: " << ggml_op_name(op->op) << " with types dst: " << ggml_type_name(op->type) + << ", src0: " << (op->src[0] ? ggml_type_name(op->src[0]->type) : "null") + << ", src1: " << (op->src[1] ? ggml_type_name(op->src[1]->type) : "null")); + } +#endif + return supports_op; } static struct ggml_backend_device_i ggml_backend_webgpu_device_i = { @@ -1155,18 +1416,20 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t webgpu_context ctx = reg_ctx->webgpu_ctx; wgpu::RequestAdapterOptions options = {}; - ctx->instance.WaitAny( - ctx->instance.RequestAdapter(&options, wgpu::CallbackMode::AllowSpontaneous, - [&ctx](wgpu::RequestAdapterStatus status, wgpu::Adapter adapter, const char * message) { - if (status != wgpu::RequestAdapterStatus::Success) { - GGML_LOG_ERROR("ggml_webgpu: Failed to get an adapter: %s\n", message); - return; - } - ctx->adapter = std::move(adapter); - }), UINT64_MAX); + ctx->instance.WaitAny(ctx->instance.RequestAdapter( + &options, wgpu::CallbackMode::AllowSpontaneous, + [&ctx](wgpu::RequestAdapterStatus status, wgpu::Adapter adapter, const char * message) { + if (status != wgpu::RequestAdapterStatus::Success) { + GGML_LOG_ERROR("ggml_webgpu: Failed to get an adapter: %s\n", message); + return; + } + ctx->adapter = std::move(adapter); + }), + UINT64_MAX); GGML_ASSERT(ctx->adapter != nullptr); ctx->adapter.GetLimits(&ctx->limits); + ctx->max_wg_size_x = 288; // default value wgpu::AdapterInfo info{}; ctx->adapter.GetInfo(&info); @@ -1182,21 +1445,21 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t wgpu::CallbackMode::AllowSpontaneous, [](const wgpu::Device & device, wgpu::DeviceLostReason reason, wgpu::StringView message) { GGML_UNUSED(device); - GGML_LOG_ERROR( - "ggml_webgpu: Device lost! Reason: %d, Message: %s\n", static_cast(reason), std::string(message).c_str()); + GGML_LOG_ERROR("ggml_webgpu: Device lost! Reason: %d, Message: %s\n", static_cast(reason), + std::string(message).c_str()); }); dev_desc.SetUncapturedErrorCallback( [](const wgpu::Device & device, wgpu::ErrorType reason, wgpu::StringView message) { GGML_UNUSED(device); - GGML_LOG_ERROR( - "ggml_webgpu: Device error! Reason: %d, Message: %s\n", static_cast(reason), std::string(message).c_str()); + GGML_LOG_ERROR("ggml_webgpu: Device error! Reason: %d, Message: %s\n", static_cast(reason), + std::string(message).c_str()); }); ctx->instance.WaitAny(ctx->adapter.RequestDevice( - &dev_desc, - wgpu::CallbackMode::AllowSpontaneous, + &dev_desc, wgpu::CallbackMode::AllowSpontaneous, [ctx](wgpu::RequestDeviceStatus status, wgpu::Device device, wgpu::StringView message) { if (status != wgpu::RequestDeviceStatus::Success) { - GGML_LOG_ERROR("ggml_webgpu: Failed to get a device: %s\n", std::string(message).c_str()); + GGML_LOG_ERROR("ggml_webgpu: Failed to get a device: %s\n", + std::string(message).c_str()); return; } ctx->device = std::move(device); @@ -1208,34 +1471,28 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t ctx->queue = ctx->device.GetQueue(); // Create buffer pool for shader parameters - ctx->param_buf_pool.init(ctx->device, - WEBGPU_NUM_PARAM_BUFS, - WEBGPU_PARAMS_BUF_SIZE_BYTES, + ctx->param_buf_pool.init(ctx->device, WEBGPU_NUM_PARAM_BUFS, WEBGPU_PARAMS_BUF_SIZE_BYTES, wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::Uniform, wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::MapWrite); - ctx->set_rows_error_buf_pool.init(ctx->device, - WEBGPU_NUM_SET_ROWS_ERROR_BUFS, - WEBGPU_SET_ROWS_ERROR_BUF_SIZE_BYTES, + ctx->set_rows_error_buf_pool.init(ctx->device, WEBGPU_NUM_SET_ROWS_ERROR_BUFS, WEBGPU_SET_ROWS_ERROR_BUF_SIZE_BYTES, wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::Storage, wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::MapRead); ggml_webgpu_init_memset_pipeline(ctx); ggml_webgpu_init_mul_mat_pipeline(ctx); ggml_webgpu_init_set_rows_pipeline(ctx); + ggml_webgpu_init_get_rows_pipeline(ctx); ggml_webgpu_init_cpy_pipeline(ctx); + ggml_webgpu_init_add_pipeline(ctx); + ggml_webgpu_init_mul_pipeline(ctx); + ggml_webgpu_init_rms_norm_pipeline(ctx); #ifdef GGML_WEBGPU_DEBUG // Initialize debug buffers - ggml_webgpu_create_buffer(ctx->device, - ctx->debug_host_buf, - WEBGPU_DEBUG_BUF_ELEMS * sizeof(uint32_t), - wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::MapRead, - "debug_host_buf"); - ggml_webgpu_create_buffer(ctx->device, - ctx->debug_dev_buf, - WEBGPU_DEBUG_BUF_ELEMS * sizeof(uint32_t), - wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopySrc, - "debug_dev_buf"); + ggml_webgpu_create_buffer(ctx->device, ctx->debug_host_buf, WEBGPU_DEBUG_BUF_ELEMS * sizeof(uint32_t), + wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::MapRead, "debug_host_buf"); + ggml_webgpu_create_buffer(ctx->device, ctx->debug_dev_buf, WEBGPU_DEBUG_BUF_ELEMS * sizeof(uint32_t), + wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopySrc, "debug_dev_buf"); #endif static ggml_backend_webgpu_device_context device_ctx; @@ -1246,12 +1503,8 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t GGML_LOG_INFO( "ggml_webgpu: adapter_info: vendor_id: %u | vendor: %s | architecture: %s | device_id: %u | name: %s | " "device_desc: %s\n", - info.vendorID, - std::string(info.vendor).c_str(), - std::string(info.architecture).c_str(), - info.deviceID, - std::string(info.device).c_str(), - std::string(info.description).c_str()); + info.vendorID, std::string(info.vendor).c_str(), std::string(info.architecture).c_str(), info.deviceID, + std::string(info.device).c_str(), std::string(info.description).c_str()); // See GGML Backend Device Interface section static ggml_backend_device device = { diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/add.tmpl.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/add.tmpl.wgsl new file mode 100644 index 0000000000..f261cbb553 --- /dev/null +++ b/ggml/src/ggml-webgpu/wgsl-shaders/add.tmpl.wgsl @@ -0,0 +1,44 @@ +#define(VARIANTS) + +[ + { + "REPLS": { + "TYPE" : "f32", + } + }, + { + "REPLS": { + "TYPE" : "f16", + } + } +] + +#end(VARIANTS) + +#define(SHADER) + +enable f16; + +#include "binary_head.tmpl" + +@group(0) @binding(0) +var src0: array<{{TYPE}}>; + +@group(0) @binding(1) +var src1: array<{{TYPE}}>; + +@group(0) @binding(2) +var dst: array<{{TYPE}}>; + +@group(0) @binding(3) +var params: Params; + +override wg_size: u32; +@compute @workgroup_size(wg_size) +fn main(@builtin(global_invocation_id) gid: vec3) { + if (gid.x < params.ne) { + dst[params.offset_dst + gid.x] = src0[params.offset_src0 + gid.x] + src1[params.offset_src1 + src1_index(gid.x)]; + } +} + +#end(SHADER) diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/add_in_place.tmpl.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/add_in_place.tmpl.wgsl new file mode 100644 index 0000000000..903f7bdbcc --- /dev/null +++ b/ggml/src/ggml-webgpu/wgsl-shaders/add_in_place.tmpl.wgsl @@ -0,0 +1,41 @@ +#define(VARIANTS) + +[ + { + "REPLS": { + "TYPE" : "f32", + } + }, + { + "REPLS": { + "TYPE" : "f16", + } + } +] + +#end(VARIANTS) + +#define(SHADER) + +enable f16; + +#include "binary_head.tmpl" + +@group(0) @binding(0) +var src0: array<{{TYPE}}>; + +@group(0) @binding(1) +var src1: array<{{TYPE}}>; + +@group(0) @binding(2) +var params: Params; + +override wg_size: u32; +@compute @workgroup_size(wg_size) +fn main(@builtin(global_invocation_id) gid: vec3) { + if (gid.x < params.ne) { + src0[params.offset_dst + gid.x] = src0[params.offset_src0 + gid.x] + src1[params.offset_src1 + src1_index(gid.x)]; + } +} + +#end(SHADER) diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/binary_head.tmpl b/ggml/src/ggml-webgpu/wgsl-shaders/binary_head.tmpl new file mode 100644 index 0000000000..4b254f468d --- /dev/null +++ b/ggml/src/ggml-webgpu/wgsl-shaders/binary_head.tmpl @@ -0,0 +1,45 @@ +struct Params { + ne: u32, + + // offsets in elements + offset_src0: u32, + offset_src1: u32, + offset_dst: u32, + + stride_src1_0: u32, + stride_src1_1: u32, + stride_src1_2: u32, + stride_src1_3: u32, + + a_ne0: u32, + a_ne1: u32, + a_ne2: u32, + + b_ne0: u32, + b_ne1: u32, + b_ne2: u32, + b_ne3: u32, +}; + +fn src1_index(_i: u32) -> u32 { + var i = _i; + let a_i3 = i / (params.a_ne2 * params.a_ne1 * params.a_ne0); + i = i % (params.a_ne2 * params.a_ne1 * params.a_ne0); + let a_i2 = i / (params.a_ne1 * params.a_ne0); + i = i % (params.a_ne1 * params.a_ne0); + let a_i1 = i / params.a_ne0; + let a_i0 = i % params.a_ne0; + + // handle repetition of b + // index loops back to the beginning and repeats after elements are exhausted = modulo + let b_i0 = a_i0 % params.b_ne0; + let b_i1 = a_i1 % params.b_ne1; + let b_i2 = a_i2 % params.b_ne2; + let b_i3 = a_i3 % params.b_ne3; + + // compute index for position in b's flat array + return b_i0 * params.stride_src1_0 + + b_i1 * params.stride_src1_1 + + b_i2 * params.stride_src1_2 + + b_i3 * params.stride_src1_3; +} diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/common_decls.tmpl b/ggml/src/ggml-webgpu/wgsl-shaders/common_decls.tmpl new file mode 100644 index 0000000000..389c97bb51 --- /dev/null +++ b/ggml/src/ggml-webgpu/wgsl-shaders/common_decls.tmpl @@ -0,0 +1,930 @@ +#decl(BYTE_HELPERS) + +fn get_byte(value: u32, index: u32) -> u32 { + return (value >> (index * 8)) & 0xFF; +} + +fn get_byte_i32(value: u32, index: u32) -> i32 { + return bitcast(((value >> (index * 8)) & 0xFF) << 24) >> 24; +} + +#enddecl(BYTE_HELPERS) + +#decl(Q4_0_T) +struct q4_0 { + d: f16, + qs: array +}; +#enddecl(Q4_0_T) + +#decl(Q4_1_T) +struct q4_1 { + d: f16, + m: f16, + qs: array +}; +#enddecl(Q4_1_T) + +#decl(Q5_0_T) +struct q5_0 { + d: f16, + qh: array, + qs: array +}; +#enddecl(Q5_0_T) + +#decl(Q5_1_T) +struct q5_1 { + d: f16, + m: f16, + qh: u32, + qs: array +}; +#enddecl(Q5_1_T) + +#decl(Q8_0_T) +struct q8_0 { + d: f16, + qs: array +}; +#enddecl(Q8_0_T) + +#decl(Q8_1_T) +struct q8_1 { + d: f16, + m: f16, + qs: array +}; +#enddecl(Q8_1_T) + +#decl(Q2_K_T) +struct q2_k { + scales: array, + qs: array, + d: f16, + dmin: f16 +}; +#enddecl(Q2_K_T) + +#decl(Q3_K_T) +struct q3_k { + hmask: array, + qs: array, + scales: array, + d: f16 +}; +#enddecl(Q3_K_T) + +#decl(Q45_K_SCALE_MIN) + +fn get_scale_min(is: u32, scales: array) -> vec2 { + if (is < 4) { + let sc_byte = get_byte(scales[is / 4], is % 4); + let min_byte = get_byte(scales[(is + 4) / 4], is % 4); + return vec2(f32(sc_byte & 63), f32(min_byte & 63)); + } else { + let sc_min_lo = get_byte(scales[(is + 4) / 4], (is + 4) % 4); + let sc_hi = get_byte(scales[(is - 4) / 4], (is - 4) % 4); + let min_hi = get_byte(scales[is / 4], is % 4); + let sc = (sc_min_lo & 0xF) | ((sc_hi >> 6) << 4); + let m = (sc_min_lo >> 4) | ((min_hi >> 6) << 4); + return vec2(f32(sc), f32(m)); + } +} + +#enddecl(Q45_K_SCALE_MIN) + +#decl(Q4_K_T) +struct q4_k { + d: f16, + dmin: f16, + scales: array, + qs: array +}; +#enddecl(Q4_K_T) + +#decl(Q5_K_T) +struct q5_k { + d: f16, + dmin: f16, + scales: array, + qh: array, + qs: array +}; +#enddecl(Q5_K_T) + +#decl(Q6_K_T) +struct q6_k { + ql: array, + qh: array, + scales: array, + d: f16 +}; +#enddecl(Q6_K_T) + +#decl(IQ2_XXS_T) +struct iq2_xxs { + d: f16, + qs: array +}; +#enddecl(IQ2_XXS_T) + +#decl(IQ2_XS_T) +struct iq2_xs { + d: f16, + qs: array, + scales: array +}; +#enddecl(IQ2_XS_T) + +#decl(IQ2_S_T) +struct iq2_s { + d: f16, + qs: array, + qh: array, + scales: array +}; +#enddecl(IQ2_S_T) + +#decl(IQ3_XSS_T) +struct iq3_xxs { + d: f16, + qs: array +}; +#enddecl(IQ3_XSS_T) + +#decl(IQ3_S_T) +struct iq3_s { + d: f16, + qs: array, + qh: array, + signs: array, + scales: array +}; +#enddecl(IQ3_S_T) + +#decl(IQ1_S_T) +struct iq1_s { + d: f16, + qs: array, + qh: array +}; +#enddecl(IQ1_S_T) + +#decl(IQ1_M_T) +struct iq1_m { + qs: array, + qh: array, + scales: array +}; +#enddecl(IQ1_M_T) + +#decl(IQ4_NL_T) +struct iq4_nl { + d: f16, + qs: array, +}; +#enddecl(IQ4_NL_T) + +#decl(IQ4_XS_T) +struct iq4_xs { + d: f16, + scales_h: f16, + scales_l: u32, + qs: array +}; +#enddecl(IQ4_XS_T) + +#decl(IQ23_TABLES) +const kmask_iq2xs : array = array( + 0x08040201u, // 1, 2, 4, 8 + 0x80402010u // 16, 32, 64, 128 +); + +const ksigns_iq2xs: array = array( + 0x03828100,0x87060584,0x8b0a0988,0x0f8e8d0c, + 0x93121190,0x17969514,0x1b9a9918,0x9f1e1d9c, + 0xa32221a0,0x27a6a524,0x2baaa928,0xaf2e2dac, + 0x33b2b130,0xb73635b4,0xbb3a39b8,0x3fbebd3c, + 0xc34241c0,0x47c6c544,0x4bcac948,0xcf4e4dcc, + 0x53d2d150,0xd75655d4,0xdb5a59d8,0x5fdedd5c, + 0x63e2e160,0xe76665e4,0xeb6a69e8,0x6feeed6c, + 0xf37271f0,0x77f6f574,0x7bfaf978,0xff7e7dfc +); +#enddecl(IQ23_TABLES) + +#decl(IQ2_XXS_GRID) +const iq2xxs_grid = array( + 0x08080808, 0x08080808, 0x0808082b, 0x08080808, 0x08081919, 0x08080808, 0x08082b08, 0x08080808, + 0x08082b2b, 0x08080808, 0x08190819, 0x08080808, 0x08191908, 0x08080808, 0x082b0808, 0x08080808, + 0x082b082b, 0x08080808, 0x082b2b08, 0x08080808, 0x082b2b2b, 0x08080808, 0x19080819, 0x08080808, + 0x19081908, 0x08080808, 0x19190808, 0x08080808, 0x19192b08, 0x08080808, 0x192b0819, 0x08080808, + 0x192b1908, 0x08080808, 0x2b080808, 0x08080808, 0x2b08082b, 0x08080808, 0x2b082b2b, 0x08080808, + 0x2b2b082b, 0x08080808, 0x08080819, 0x08080819, 0x08081908, 0x08080819, 0x08190808, 0x08080819, + 0x08191919, 0x08080819, 0x19080808, 0x08080819, 0x2b081908, 0x08080819, 0x2b192b08, 0x08080819, + 0x08080808, 0x0808082b, 0x0808082b, 0x0808082b, 0x082b082b, 0x0808082b, 0x2b08082b, 0x0808082b, + 0x08080819, 0x08081908, 0x08081908, 0x08081908, 0x08190808, 0x08081908, 0x082b0819, 0x08081908, + 0x082b1908, 0x08081908, 0x19080808, 0x08081908, 0x1908082b, 0x08081908, 0x19082b08, 0x08081908, + 0x192b0808, 0x08081908, 0x2b080819, 0x08081908, 0x2b081908, 0x08081908, 0x2b190808, 0x08081908, + 0x2b2b1908, 0x08081908, 0x08080808, 0x08081919, 0x0808082b, 0x08081919, 0x08082b08, 0x08081919, + 0x082b0808, 0x08081919, 0x1908192b, 0x08081919, 0x192b2b19, 0x08081919, 0x2b080808, 0x08081919, + 0x2b190819, 0x08081919, 0x08082b19, 0x0808192b, 0x08190808, 0x0808192b, 0x19080808, 0x0808192b, + 0x2b081908, 0x0808192b, 0x2b2b1908, 0x0808192b, 0x08080808, 0x08082b08, 0x08081919, 0x08082b08, + 0x08082b08, 0x08082b08, 0x08191908, 0x08082b08, 0x082b2b08, 0x08082b08, 0x19080819, 0x08082b08, + 0x19081908, 0x08082b08, 0x19190808, 0x08082b08, 0x1919082b, 0x08082b08, 0x2b082b08, 0x08082b08, + 0x08081908, 0x08082b19, 0x19080808, 0x08082b19, 0x0808082b, 0x08082b2b, 0x08191908, 0x08082b2b, + 0x08080819, 0x08190808, 0x08081908, 0x08190808, 0x08190808, 0x08190808, 0x082b0819, 0x08190808, + 0x19080808, 0x08190808, 0x192b0808, 0x08190808, 0x2b081908, 0x08190808, 0x2b190808, 0x08190808, + 0x2b191919, 0x08190808, 0x08080808, 0x08190819, 0x08082b08, 0x08190819, 0x082b0808, 0x08190819, + 0x19190808, 0x08190819, 0x19192b2b, 0x08190819, 0x2b080808, 0x08190819, 0x082b1908, 0x0819082b, + 0x19081919, 0x0819082b, 0x08080808, 0x08191908, 0x08082b08, 0x08191908, 0x082b0808, 0x08191908, + 0x082b1919, 0x08191908, 0x19082b19, 0x08191908, 0x2b080808, 0x08191908, 0x08192b08, 0x08191919, + 0x192b082b, 0x08191919, 0x08080808, 0x0819192b, 0x0819192b, 0x0819192b, 0x08080819, 0x08192b08, + 0x08081908, 0x08192b08, 0x08190808, 0x08192b08, 0x19080808, 0x08192b08, 0x2b080819, 0x08192b08, + 0x08080808, 0x08192b19, 0x08081919, 0x08192b19, 0x2b2b0808, 0x08192b19, 0x19190819, 0x08192b2b, + 0x08080808, 0x082b0808, 0x0808082b, 0x082b0808, 0x08082b2b, 0x082b0808, 0x19081908, 0x082b0808, + 0x192b0819, 0x082b0808, 0x2b080808, 0x082b0808, 0x2b08082b, 0x082b0808, 0x082b2b19, 0x082b0819, + 0x19082b08, 0x082b0819, 0x08080808, 0x082b082b, 0x0808082b, 0x082b082b, 0x08080819, 0x082b1908, + 0x08081908, 0x082b1908, 0x08190808, 0x082b1908, 0x19080808, 0x082b1908, 0x1919192b, 0x082b1908, + 0x08080808, 0x082b1919, 0x19080819, 0x082b1919, 0x192b1908, 0x082b1919, 0x2b190808, 0x082b192b, + 0x08082b08, 0x082b2b08, 0x082b0808, 0x082b2b08, 0x2b191908, 0x082b2b08, 0x19081908, 0x082b2b2b, + 0x08080819, 0x19080808, 0x08081908, 0x19080808, 0x08190808, 0x19080808, 0x08192b08, 0x19080808, + 0x082b0819, 0x19080808, 0x082b1908, 0x19080808, 0x19080808, 0x19080808, 0x19082b08, 0x19080808, + 0x1919192b, 0x19080808, 0x192b0808, 0x19080808, 0x2b080819, 0x19080808, 0x2b081908, 0x19080808, + 0x2b190808, 0x19080808, 0x08080808, 0x19080819, 0x082b0808, 0x19080819, 0x192b0819, 0x19080819, + 0x2b080808, 0x19080819, 0x2b081919, 0x19080819, 0x08080819, 0x1908082b, 0x08190808, 0x1908082b, + 0x19082b08, 0x1908082b, 0x1919192b, 0x1908082b, 0x192b2b08, 0x1908082b, 0x08080808, 0x19081908, + 0x08082b08, 0x19081908, 0x082b0808, 0x19081908, 0x2b080808, 0x19081908, 0x2b192b19, 0x19081908, + 0x0819082b, 0x19081919, 0x082b1908, 0x19081919, 0x08080808, 0x1908192b, 0x08080819, 0x19082b08, + 0x08081908, 0x19082b08, 0x08190808, 0x19082b08, 0x19080808, 0x19082b08, 0x19081919, 0x19082b08, + 0x08080808, 0x19082b19, 0x19192b08, 0x19082b19, 0x192b0819, 0x19082b19, 0x2b08082b, 0x19082b19, + 0x19081919, 0x19082b2b, 0x2b190808, 0x19082b2b, 0x08080808, 0x19190808, 0x08082b08, 0x19190808, + 0x08190819, 0x19190808, 0x08192b19, 0x19190808, 0x082b0808, 0x19190808, 0x2b080808, 0x19190808, + 0x2b082b08, 0x19190808, 0x08081908, 0x19190819, 0x1908082b, 0x19190819, 0x2b2b1908, 0x19190819, + 0x2b190819, 0x1919082b, 0x2b190808, 0x19191908, 0x2b19082b, 0x19191908, 0x08082b2b, 0x19191919, + 0x08080819, 0x1919192b, 0x19191908, 0x1919192b, 0x08080808, 0x19192b08, 0x08190819, 0x19192b08, + 0x08192b19, 0x19192b08, 0x192b1908, 0x19192b08, 0x19080808, 0x19192b19, 0x08082b08, 0x19192b2b, + 0x08081908, 0x192b0808, 0x08190808, 0x192b0808, 0x19080808, 0x192b0808, 0x192b2b08, 0x192b0808, + 0x08080808, 0x192b0819, 0x19191919, 0x192b0819, 0x08192b08, 0x192b082b, 0x192b0808, 0x192b082b, + 0x08080808, 0x192b1908, 0x08081919, 0x192b1908, 0x08190808, 0x192b1919, 0x0819082b, 0x192b1919, + 0x2b081908, 0x192b1919, 0x1908082b, 0x192b2b08, 0x08080808, 0x2b080808, 0x0808082b, 0x2b080808, + 0x08082b2b, 0x2b080808, 0x19080819, 0x2b080808, 0x2b08082b, 0x2b080808, 0x08081908, 0x2b080819, + 0x08192b08, 0x2b080819, 0x19080808, 0x2b080819, 0x08190819, 0x2b08082b, 0x08080819, 0x2b081908, + 0x08081908, 0x2b081908, 0x08190808, 0x2b081908, 0x08191919, 0x2b081908, 0x19080808, 0x2b081908, + 0x192b0808, 0x2b081908, 0x08080808, 0x2b081919, 0x1908192b, 0x2b081919, 0x2b191908, 0x2b081919, + 0x08082b19, 0x2b08192b, 0x19080808, 0x2b08192b, 0x192b0808, 0x2b08192b, 0x0808082b, 0x2b082b08, + 0x08081908, 0x2b082b19, 0x08190819, 0x2b082b2b, 0x08081908, 0x2b190808, 0x08190808, 0x2b190808, + 0x082b1908, 0x2b190808, 0x19080808, 0x2b190808, 0x2b2b0819, 0x2b190808, 0x0819192b, 0x2b190819, + 0x2b080808, 0x2b190819, 0x19081919, 0x2b19082b, 0x08080808, 0x2b191908, 0x082b082b, 0x2b191908, + 0x19081908, 0x2b191908, 0x19190819, 0x2b191919, 0x2b080819, 0x2b192b08, 0x082b0808, 0x2b192b19, + 0x0808082b, 0x2b2b0808, 0x19190808, 0x2b2b0808, 0x2b081919, 0x2b2b0808, 0x08082b19, 0x2b2b0819, + 0x08080808, 0x2b2b082b, 0x08192b08, 0x2b2b1908, 0x19190808, 0x2b2b2b08, 0x08081908, 0x2b2b2b19 +); +#enddecl(IQ2_XXS_GRID) + +#decl(IQ2_XS_GRID) +const iq2xs_grid = array( + 0x08080808, 0x08080808, 0x0808082b, 0x08080808, 0x08081919, 0x08080808, 0x08082b08, 0x08080808, + 0x08082b2b, 0x08080808, 0x08190819, 0x08080808, 0x08191908, 0x08080808, 0x0819192b, 0x08080808, + 0x08192b19, 0x08080808, 0x082b0808, 0x08080808, 0x082b082b, 0x08080808, 0x082b1919, 0x08080808, + 0x082b2b08, 0x08080808, 0x19080819, 0x08080808, 0x19081908, 0x08080808, 0x1908192b, 0x08080808, + 0x19082b19, 0x08080808, 0x19190808, 0x08080808, 0x1919082b, 0x08080808, 0x19191919, 0x08080808, + 0x19192b08, 0x08080808, 0x192b0819, 0x08080808, 0x192b1908, 0x08080808, 0x2b080808, 0x08080808, + 0x2b08082b, 0x08080808, 0x2b081919, 0x08080808, 0x2b082b08, 0x08080808, 0x2b190819, 0x08080808, + 0x2b191908, 0x08080808, 0x2b192b19, 0x08080808, 0x2b2b0808, 0x08080808, 0x08080819, 0x08080819, + 0x08081908, 0x08080819, 0x0808192b, 0x08080819, 0x08082b19, 0x08080819, 0x08190808, 0x08080819, + 0x0819082b, 0x08080819, 0x08191919, 0x08080819, 0x08192b08, 0x08080819, 0x08192b2b, 0x08080819, + 0x082b0819, 0x08080819, 0x082b1908, 0x08080819, 0x19080808, 0x08080819, 0x1908082b, 0x08080819, + 0x19081919, 0x08080819, 0x19082b08, 0x08080819, 0x19190819, 0x08080819, 0x19191908, 0x08080819, + 0x192b0808, 0x08080819, 0x192b2b08, 0x08080819, 0x2b080819, 0x08080819, 0x2b081908, 0x08080819, + 0x2b190808, 0x08080819, 0x08080808, 0x0808082b, 0x0808082b, 0x0808082b, 0x08081919, 0x0808082b, + 0x08082b08, 0x0808082b, 0x08190819, 0x0808082b, 0x08191908, 0x0808082b, 0x082b0808, 0x0808082b, + 0x19080819, 0x0808082b, 0x19081908, 0x0808082b, 0x19190808, 0x0808082b, 0x19191919, 0x0808082b, + 0x2b080808, 0x0808082b, 0x2b082b2b, 0x0808082b, 0x08080819, 0x08081908, 0x08081908, 0x08081908, + 0x0808192b, 0x08081908, 0x08082b19, 0x08081908, 0x08190808, 0x08081908, 0x0819082b, 0x08081908, + 0x08191919, 0x08081908, 0x08192b08, 0x08081908, 0x082b0819, 0x08081908, 0x082b1908, 0x08081908, + 0x19080808, 0x08081908, 0x1908082b, 0x08081908, 0x19081919, 0x08081908, 0x19082b08, 0x08081908, + 0x19190819, 0x08081908, 0x19191908, 0x08081908, 0x1919192b, 0x08081908, 0x192b0808, 0x08081908, + 0x2b080819, 0x08081908, 0x2b081908, 0x08081908, 0x2b190808, 0x08081908, 0x08080808, 0x08081919, + 0x0808082b, 0x08081919, 0x08081919, 0x08081919, 0x08082b08, 0x08081919, 0x08190819, 0x08081919, + 0x08191908, 0x08081919, 0x082b0808, 0x08081919, 0x19080819, 0x08081919, 0x19081908, 0x08081919, + 0x19190808, 0x08081919, 0x192b0819, 0x08081919, 0x2b080808, 0x08081919, 0x08080819, 0x0808192b, + 0x08081908, 0x0808192b, 0x08190808, 0x0808192b, 0x082b192b, 0x0808192b, 0x19080808, 0x0808192b, + 0x1908082b, 0x0808192b, 0x2b081908, 0x0808192b, 0x08080808, 0x08082b08, 0x0808082b, 0x08082b08, + 0x08081919, 0x08082b08, 0x08082b08, 0x08082b08, 0x08082b2b, 0x08082b08, 0x08190819, 0x08082b08, + 0x08191908, 0x08082b08, 0x082b0808, 0x08082b08, 0x082b1919, 0x08082b08, 0x19080819, 0x08082b08, + 0x19081908, 0x08082b08, 0x19190808, 0x08082b08, 0x19192b08, 0x08082b08, 0x2b080808, 0x08082b08, + 0x2b2b0808, 0x08082b08, 0x2b2b2b2b, 0x08082b08, 0x08080819, 0x08082b19, 0x08081908, 0x08082b19, + 0x08190808, 0x08082b19, 0x19080808, 0x08082b19, 0x2b080819, 0x08082b19, 0x2b082b19, 0x08082b19, + 0x08080808, 0x08082b2b, 0x082b0808, 0x08082b2b, 0x082b2b08, 0x08082b2b, 0x2b19192b, 0x08082b2b, + 0x2b2b0808, 0x08082b2b, 0x08080819, 0x08190808, 0x08081908, 0x08190808, 0x0808192b, 0x08190808, + 0x08082b19, 0x08190808, 0x08190808, 0x08190808, 0x0819082b, 0x08190808, 0x08191919, 0x08190808, + 0x08192b08, 0x08190808, 0x082b0819, 0x08190808, 0x082b1908, 0x08190808, 0x19080808, 0x08190808, + 0x1908082b, 0x08190808, 0x19081919, 0x08190808, 0x19082b08, 0x08190808, 0x19190819, 0x08190808, + 0x19191908, 0x08190808, 0x192b0808, 0x08190808, 0x192b2b2b, 0x08190808, 0x2b080819, 0x08190808, + 0x2b081908, 0x08190808, 0x2b190808, 0x08190808, 0x08080808, 0x08190819, 0x0808082b, 0x08190819, + 0x08081919, 0x08190819, 0x08082b08, 0x08190819, 0x08190819, 0x08190819, 0x08191908, 0x08190819, + 0x082b0808, 0x08190819, 0x19080819, 0x08190819, 0x19081908, 0x08190819, 0x19190808, 0x08190819, + 0x2b080808, 0x08190819, 0x2b191908, 0x08190819, 0x2b19192b, 0x08190819, 0x08080819, 0x0819082b, + 0x08081908, 0x0819082b, 0x0808192b, 0x0819082b, 0x08190808, 0x0819082b, 0x19080808, 0x0819082b, + 0x192b0808, 0x0819082b, 0x08080808, 0x08191908, 0x0808082b, 0x08191908, 0x08081919, 0x08191908, + 0x08082b08, 0x08191908, 0x08190819, 0x08191908, 0x08191908, 0x08191908, 0x082b0808, 0x08191908, + 0x19080819, 0x08191908, 0x19081908, 0x08191908, 0x19082b19, 0x08191908, 0x19190808, 0x08191908, + 0x192b1908, 0x08191908, 0x2b080808, 0x08191908, 0x08080819, 0x08191919, 0x08081908, 0x08191919, + 0x08190808, 0x08191919, 0x19080808, 0x08191919, 0x08080808, 0x0819192b, 0x08191908, 0x0819192b, + 0x19082b19, 0x0819192b, 0x08080819, 0x08192b08, 0x08081908, 0x08192b08, 0x08190808, 0x08192b08, + 0x0819082b, 0x08192b08, 0x19080808, 0x08192b08, 0x19191908, 0x08192b08, 0x2b08192b, 0x08192b08, + 0x08080808, 0x08192b19, 0x08081919, 0x08192b19, 0x192b192b, 0x08192b19, 0x19190819, 0x08192b2b, + 0x2b2b2b19, 0x08192b2b, 0x08080808, 0x082b0808, 0x0808082b, 0x082b0808, 0x08081919, 0x082b0808, + 0x08082b08, 0x082b0808, 0x08082b2b, 0x082b0808, 0x08190819, 0x082b0808, 0x08191908, 0x082b0808, + 0x082b0808, 0x082b0808, 0x19080819, 0x082b0808, 0x19081908, 0x082b0808, 0x19190808, 0x082b0808, + 0x2b080808, 0x082b0808, 0x2b2b0808, 0x082b0808, 0x08080819, 0x082b0819, 0x08081908, 0x082b0819, + 0x08190808, 0x082b0819, 0x19080808, 0x082b0819, 0x19082b08, 0x082b0819, 0x192b1919, 0x082b0819, + 0x08080808, 0x082b082b, 0x082b082b, 0x082b082b, 0x2b080808, 0x082b082b, 0x2b2b2b08, 0x082b082b, + 0x08080819, 0x082b1908, 0x08081908, 0x082b1908, 0x08190808, 0x082b1908, 0x082b2b19, 0x082b1908, + 0x19080808, 0x082b1908, 0x08080808, 0x082b1919, 0x19080819, 0x082b1919, 0x1919082b, 0x082b1919, + 0x2b192b19, 0x082b1919, 0x08080819, 0x082b192b, 0x08192b2b, 0x082b192b, 0x2b2b192b, 0x082b192b, + 0x08080808, 0x082b2b08, 0x08082b08, 0x082b2b08, 0x08082b2b, 0x082b2b08, 0x082b0808, 0x082b2b08, + 0x19191919, 0x082b2b08, 0x2b082b08, 0x082b2b08, 0x2b2b082b, 0x082b2b08, 0x192b2b08, 0x082b2b19, + 0x2b190808, 0x082b2b19, 0x08082b08, 0x082b2b2b, 0x082b0808, 0x082b2b2b, 0x2b08082b, 0x082b2b2b, + 0x2b082b08, 0x082b2b2b, 0x2b082b2b, 0x082b2b2b, 0x08080819, 0x19080808, 0x08081908, 0x19080808, + 0x0808192b, 0x19080808, 0x08082b19, 0x19080808, 0x08190808, 0x19080808, 0x0819082b, 0x19080808, + 0x08191919, 0x19080808, 0x08192b08, 0x19080808, 0x082b0819, 0x19080808, 0x082b1908, 0x19080808, + 0x19080808, 0x19080808, 0x1908082b, 0x19080808, 0x19081919, 0x19080808, 0x19082b08, 0x19080808, + 0x19082b2b, 0x19080808, 0x19190819, 0x19080808, 0x19191908, 0x19080808, 0x192b0808, 0x19080808, + 0x192b1919, 0x19080808, 0x2b080819, 0x19080808, 0x2b081908, 0x19080808, 0x2b190808, 0x19080808, + 0x08080808, 0x19080819, 0x0808082b, 0x19080819, 0x08081919, 0x19080819, 0x08082b08, 0x19080819, + 0x08190819, 0x19080819, 0x08191908, 0x19080819, 0x082b0808, 0x19080819, 0x19080819, 0x19080819, + 0x19081908, 0x19080819, 0x19190808, 0x19080819, 0x2b080808, 0x19080819, 0x2b081919, 0x19080819, + 0x2b2b082b, 0x19080819, 0x08080819, 0x1908082b, 0x08081908, 0x1908082b, 0x08190808, 0x1908082b, + 0x0819082b, 0x1908082b, 0x082b2b19, 0x1908082b, 0x19080808, 0x1908082b, 0x08080808, 0x19081908, + 0x0808082b, 0x19081908, 0x08081919, 0x19081908, 0x08082b08, 0x19081908, 0x08190819, 0x19081908, + 0x08191908, 0x19081908, 0x08192b19, 0x19081908, 0x082b0808, 0x19081908, 0x19080819, 0x19081908, + 0x19081908, 0x19081908, 0x19190808, 0x19081908, 0x2b080808, 0x19081908, 0x2b191908, 0x19081908, + 0x08080819, 0x19081919, 0x08081908, 0x19081919, 0x08190808, 0x19081919, 0x082b1908, 0x19081919, + 0x19080808, 0x19081919, 0x2b192b2b, 0x19081919, 0x08080808, 0x1908192b, 0x08082b2b, 0x1908192b, + 0x19081908, 0x1908192b, 0x19190808, 0x1908192b, 0x08080819, 0x19082b08, 0x08081908, 0x19082b08, + 0x08190808, 0x19082b08, 0x19080808, 0x19082b08, 0x19081919, 0x19082b08, 0x19191908, 0x19082b08, + 0x192b082b, 0x19082b08, 0x08080808, 0x19082b19, 0x08190819, 0x19082b19, 0x19081908, 0x19082b19, + 0x19190808, 0x19082b19, 0x192b2b19, 0x19082b19, 0x08081908, 0x19082b2b, 0x08080808, 0x19190808, + 0x0808082b, 0x19190808, 0x08081919, 0x19190808, 0x08082b08, 0x19190808, 0x08190819, 0x19190808, + 0x08191908, 0x19190808, 0x082b0808, 0x19190808, 0x082b2b08, 0x19190808, 0x19080819, 0x19190808, + 0x19081908, 0x19190808, 0x19190808, 0x19190808, 0x2b080808, 0x19190808, 0x08080819, 0x19190819, + 0x08081908, 0x19190819, 0x08190808, 0x19190819, 0x08191919, 0x19190819, 0x19080808, 0x19190819, + 0x1908082b, 0x19190819, 0x08080808, 0x1919082b, 0x19081908, 0x1919082b, 0x2b2b2b2b, 0x1919082b, + 0x08080819, 0x19191908, 0x08081908, 0x19191908, 0x08190808, 0x19191908, 0x082b0819, 0x19191908, + 0x19080808, 0x19191908, 0x192b0808, 0x19191908, 0x2b080819, 0x19191908, 0x2b2b0819, 0x19191908, + 0x08080808, 0x19191919, 0x08082b08, 0x19191919, 0x2b080808, 0x19191919, 0x2b082b08, 0x19191919, + 0x082b0819, 0x1919192b, 0x192b2b08, 0x1919192b, 0x2b2b0819, 0x1919192b, 0x08080808, 0x19192b08, + 0x08191908, 0x19192b08, 0x19080819, 0x19192b08, 0x19190808, 0x19192b08, 0x2b192b19, 0x19192b08, + 0x08192b2b, 0x19192b19, 0x19080808, 0x19192b19, 0x1908082b, 0x19192b19, 0x2b081919, 0x19192b2b, + 0x08080819, 0x192b0808, 0x08081908, 0x192b0808, 0x08190808, 0x192b0808, 0x19080808, 0x192b0808, + 0x19191908, 0x192b0808, 0x192b082b, 0x192b0808, 0x2b08192b, 0x192b0808, 0x2b2b2b19, 0x192b0808, + 0x08080808, 0x192b0819, 0x082b1908, 0x192b082b, 0x19082b2b, 0x192b082b, 0x2b19082b, 0x192b082b, + 0x08080808, 0x192b1908, 0x0819192b, 0x192b1908, 0x08190808, 0x192b1919, 0x19080808, 0x192b1919, + 0x19081919, 0x192b1919, 0x2b2b1908, 0x192b1919, 0x08080819, 0x192b2b08, 0x192b2b2b, 0x192b2b08, + 0x082b1919, 0x192b2b19, 0x0808192b, 0x192b2b2b, 0x19191908, 0x192b2b2b, 0x192b082b, 0x192b2b2b, + 0x08080808, 0x2b080808, 0x0808082b, 0x2b080808, 0x08081919, 0x2b080808, 0x08082b08, 0x2b080808, + 0x08190819, 0x2b080808, 0x08191908, 0x2b080808, 0x082b0808, 0x2b080808, 0x082b2b2b, 0x2b080808, + 0x19080819, 0x2b080808, 0x19081908, 0x2b080808, 0x19190808, 0x2b080808, 0x2b080808, 0x2b080808, + 0x2b08082b, 0x2b080808, 0x2b2b2b08, 0x2b080808, 0x2b2b2b2b, 0x2b080808, 0x08080819, 0x2b080819, + 0x08081908, 0x2b080819, 0x0808192b, 0x2b080819, 0x08190808, 0x2b080819, 0x19080808, 0x2b080819, + 0x19190819, 0x2b080819, 0x19192b19, 0x2b080819, 0x08080808, 0x2b08082b, 0x082b0808, 0x2b08082b, + 0x2b080808, 0x2b08082b, 0x2b08082b, 0x2b08082b, 0x2b2b0808, 0x2b08082b, 0x2b2b2b08, 0x2b08082b, + 0x08080819, 0x2b081908, 0x08081908, 0x2b081908, 0x08190808, 0x2b081908, 0x0819082b, 0x2b081908, + 0x08191919, 0x2b081908, 0x19080808, 0x2b081908, 0x192b0808, 0x2b081908, 0x2b082b19, 0x2b081908, + 0x08080808, 0x2b081919, 0x19081908, 0x2b081919, 0x2b2b1919, 0x2b081919, 0x08192b08, 0x2b08192b, + 0x192b2b2b, 0x2b08192b, 0x08080808, 0x2b082b08, 0x08082b08, 0x2b082b08, 0x082b1919, 0x2b082b08, + 0x19192b2b, 0x2b082b08, 0x2b080808, 0x2b082b08, 0x2b08082b, 0x2b082b08, 0x2b2b2b08, 0x2b082b08, + 0x0808192b, 0x2b082b19, 0x082b082b, 0x2b082b2b, 0x2b080808, 0x2b082b2b, 0x2b082b08, 0x2b082b2b, + 0x2b19192b, 0x2b082b2b, 0x2b2b2b08, 0x2b082b2b, 0x08080819, 0x2b190808, 0x08081908, 0x2b190808, + 0x08190808, 0x2b190808, 0x19080808, 0x2b190808, 0x1919192b, 0x2b190808, 0x2b081908, 0x2b190808, + 0x08080808, 0x2b190819, 0x082b082b, 0x2b190819, 0x192b1908, 0x2b190819, 0x1919192b, 0x2b19082b, + 0x2b082b19, 0x2b19082b, 0x08080808, 0x2b191908, 0x08081919, 0x2b191908, 0x19081908, 0x2b191908, + 0x19190808, 0x2b191908, 0x19192b08, 0x2b191908, 0x082b2b19, 0x2b191919, 0x2b190808, 0x2b191919, + 0x2b19082b, 0x2b191919, 0x19080819, 0x2b19192b, 0x19190819, 0x2b192b08, 0x2b2b192b, 0x2b192b08, + 0x19082b19, 0x2b192b19, 0x08191919, 0x2b192b2b, 0x192b0808, 0x2b192b2b, 0x08080808, 0x2b2b0808, + 0x0808082b, 0x2b2b0808, 0x08082b08, 0x2b2b0808, 0x08082b2b, 0x2b2b0808, 0x082b0808, 0x2b2b0808, + 0x082b2b2b, 0x2b2b0808, 0x2b2b0808, 0x2b2b0808, 0x19190819, 0x2b2b0819, 0x19192b19, 0x2b2b0819, + 0x2b2b192b, 0x2b2b0819, 0x08080808, 0x2b2b082b, 0x0808082b, 0x2b2b082b, 0x08082b08, 0x2b2b082b, + 0x082b2b2b, 0x2b2b082b, 0x2b080808, 0x2b2b082b, 0x2b2b0808, 0x2b2b082b, 0x19080808, 0x2b2b1908, + 0x2b191919, 0x2b2b1908, 0x192b1919, 0x2b2b192b, 0x2b192b08, 0x2b2b192b, 0x08082b2b, 0x2b2b2b08, + 0x082b0808, 0x2b2b2b08, 0x082b082b, 0x2b2b2b08, 0x082b2b08, 0x2b2b2b08, 0x2b2b0808, 0x2b2b2b08, + 0x2b2b2b08, 0x2b2b2b08, 0x08081908, 0x2b2b2b19, 0x2b081908, 0x2b2b2b19, 0x2b08192b, 0x2b2b2b19, + 0x082b2b08, 0x2b2b2b2b, 0x082b2b2b, 0x2b2b2b2b, 0x2b190819, 0x2b2b2b2b, 0x2b2b2b2b, 0x2b2b2b2b +); +#enddecl(IQ2_XS_GRID) + +#decl(IQ2_S_GRID) +const iq2s_grid = array( + 0x08080808, 0x08080808, 0x0808082b, 0x08080808, 0x08081919, 0x08080808, 0x08082b08, 0x08080808, + 0x08082b2b, 0x08080808, 0x08190819, 0x08080808, 0x08191908, 0x08080808, 0x0819192b, 0x08080808, + 0x08192b19, 0x08080808, 0x082b0808, 0x08080808, 0x082b082b, 0x08080808, 0x082b1919, 0x08080808, + 0x082b2b08, 0x08080808, 0x19080819, 0x08080808, 0x19081908, 0x08080808, 0x1908192b, 0x08080808, + 0x19082b19, 0x08080808, 0x19190808, 0x08080808, 0x1919082b, 0x08080808, 0x19191919, 0x08080808, + 0x19192b08, 0x08080808, 0x192b0819, 0x08080808, 0x192b1908, 0x08080808, 0x192b192b, 0x08080808, + 0x192b2b19, 0x08080808, 0x2b080808, 0x08080808, 0x2b08082b, 0x08080808, 0x2b081919, 0x08080808, + 0x2b082b08, 0x08080808, 0x2b190819, 0x08080808, 0x2b191908, 0x08080808, 0x2b2b0808, 0x08080808, + 0x2b2b1919, 0x08080808, 0x2b2b2b2b, 0x08080808, 0x08080819, 0x08080819, 0x08081908, 0x08080819, + 0x0808192b, 0x08080819, 0x08082b19, 0x08080819, 0x08190808, 0x08080819, 0x0819082b, 0x08080819, + 0x08191919, 0x08080819, 0x08192b08, 0x08080819, 0x082b0819, 0x08080819, 0x082b1908, 0x08080819, + 0x19080808, 0x08080819, 0x1908082b, 0x08080819, 0x19081919, 0x08080819, 0x19082b08, 0x08080819, + 0x19190819, 0x08080819, 0x19191908, 0x08080819, 0x1919192b, 0x08080819, 0x19192b19, 0x08080819, + 0x192b0808, 0x08080819, 0x192b1919, 0x08080819, 0x192b2b08, 0x08080819, 0x2b080819, 0x08080819, + 0x2b081908, 0x08080819, 0x2b190808, 0x08080819, 0x2b19082b, 0x08080819, 0x2b191919, 0x08080819, + 0x2b2b0819, 0x08080819, 0x2b2b1908, 0x08080819, 0x08080808, 0x0808082b, 0x0808082b, 0x0808082b, + 0x08081919, 0x0808082b, 0x08082b08, 0x0808082b, 0x08190819, 0x0808082b, 0x08191908, 0x0808082b, + 0x082b0808, 0x0808082b, 0x082b2b2b, 0x0808082b, 0x19080819, 0x0808082b, 0x19081908, 0x0808082b, + 0x1908192b, 0x0808082b, 0x19082b19, 0x0808082b, 0x19190808, 0x0808082b, 0x19191919, 0x0808082b, + 0x2b080808, 0x0808082b, 0x2b081919, 0x0808082b, 0x2b082b2b, 0x0808082b, 0x2b191908, 0x0808082b, + 0x2b2b082b, 0x0808082b, 0x08080819, 0x08081908, 0x08081908, 0x08081908, 0x0808192b, 0x08081908, + 0x08082b19, 0x08081908, 0x08190808, 0x08081908, 0x0819082b, 0x08081908, 0x08191919, 0x08081908, + 0x08192b08, 0x08081908, 0x082b0819, 0x08081908, 0x082b1908, 0x08081908, 0x082b192b, 0x08081908, + 0x082b2b19, 0x08081908, 0x19080808, 0x08081908, 0x1908082b, 0x08081908, 0x19081919, 0x08081908, + 0x19082b08, 0x08081908, 0x19082b2b, 0x08081908, 0x19190819, 0x08081908, 0x19191908, 0x08081908, + 0x1919192b, 0x08081908, 0x19192b19, 0x08081908, 0x192b0808, 0x08081908, 0x192b082b, 0x08081908, + 0x192b1919, 0x08081908, 0x2b080819, 0x08081908, 0x2b081908, 0x08081908, 0x2b08192b, 0x08081908, + 0x2b082b19, 0x08081908, 0x2b190808, 0x08081908, 0x2b191919, 0x08081908, 0x2b192b08, 0x08081908, + 0x2b2b0819, 0x08081908, 0x2b2b1908, 0x08081908, 0x08080808, 0x08081919, 0x0808082b, 0x08081919, + 0x08081919, 0x08081919, 0x08082b08, 0x08081919, 0x08082b2b, 0x08081919, 0x08190819, 0x08081919, + 0x08191908, 0x08081919, 0x0819192b, 0x08081919, 0x08192b19, 0x08081919, 0x082b0808, 0x08081919, + 0x082b1919, 0x08081919, 0x082b2b08, 0x08081919, 0x19080819, 0x08081919, 0x19081908, 0x08081919, + 0x1908192b, 0x08081919, 0x19082b19, 0x08081919, 0x19190808, 0x08081919, 0x1919082b, 0x08081919, + 0x19191919, 0x08081919, 0x19192b08, 0x08081919, 0x192b0819, 0x08081919, 0x192b1908, 0x08081919, + 0x2b080808, 0x08081919, 0x2b08082b, 0x08081919, 0x2b081919, 0x08081919, 0x2b082b08, 0x08081919, + 0x2b190819, 0x08081919, 0x2b191908, 0x08081919, 0x2b2b0808, 0x08081919, 0x08080819, 0x0808192b, + 0x08081908, 0x0808192b, 0x0808192b, 0x0808192b, 0x08082b19, 0x0808192b, 0x08190808, 0x0808192b, + 0x08191919, 0x0808192b, 0x19080808, 0x0808192b, 0x19081919, 0x0808192b, 0x19082b08, 0x0808192b, + 0x19190819, 0x0808192b, 0x19191908, 0x0808192b, 0x192b0808, 0x0808192b, 0x2b080819, 0x0808192b, + 0x2b081908, 0x0808192b, 0x2b190808, 0x0808192b, 0x08080808, 0x08082b08, 0x0808082b, 0x08082b08, + 0x08081919, 0x08082b08, 0x08082b08, 0x08082b08, 0x08190819, 0x08082b08, 0x08191908, 0x08082b08, + 0x0819192b, 0x08082b08, 0x08192b19, 0x08082b08, 0x082b0808, 0x08082b08, 0x082b1919, 0x08082b08, + 0x082b2b2b, 0x08082b08, 0x19080819, 0x08082b08, 0x19081908, 0x08082b08, 0x1908192b, 0x08082b08, + 0x19082b19, 0x08082b08, 0x19190808, 0x08082b08, 0x1919082b, 0x08082b08, 0x19191919, 0x08082b08, + 0x19192b08, 0x08082b08, 0x192b0819, 0x08082b08, 0x192b1908, 0x08082b08, 0x2b080808, 0x08082b08, + 0x2b081919, 0x08082b08, 0x2b191908, 0x08082b08, 0x2b2b2b2b, 0x08082b08, 0x08080819, 0x08082b19, + 0x08081908, 0x08082b19, 0x08190808, 0x08082b19, 0x0819082b, 0x08082b19, 0x08191919, 0x08082b19, + 0x08192b08, 0x08082b19, 0x082b0819, 0x08082b19, 0x19080808, 0x08082b19, 0x19081919, 0x08082b19, + 0x19082b08, 0x08082b19, 0x19190819, 0x08082b19, 0x19191908, 0x08082b19, 0x192b0808, 0x08082b19, + 0x2b080819, 0x08082b19, 0x2b190808, 0x08082b19, 0x08080808, 0x08082b2b, 0x08190819, 0x08082b2b, + 0x08191908, 0x08082b2b, 0x082b082b, 0x08082b2b, 0x082b2b08, 0x08082b2b, 0x082b2b2b, 0x08082b2b, + 0x19190808, 0x08082b2b, 0x2b192b19, 0x08082b2b, 0x08080819, 0x08190808, 0x08081908, 0x08190808, + 0x0808192b, 0x08190808, 0x08082b19, 0x08190808, 0x08190808, 0x08190808, 0x0819082b, 0x08190808, + 0x08191919, 0x08190808, 0x08192b08, 0x08190808, 0x082b0819, 0x08190808, 0x082b1908, 0x08190808, + 0x082b192b, 0x08190808, 0x19080808, 0x08190808, 0x1908082b, 0x08190808, 0x19081919, 0x08190808, + 0x19082b08, 0x08190808, 0x19190819, 0x08190808, 0x19191908, 0x08190808, 0x1919192b, 0x08190808, + 0x19192b19, 0x08190808, 0x192b0808, 0x08190808, 0x192b082b, 0x08190808, 0x192b1919, 0x08190808, + 0x192b2b08, 0x08190808, 0x2b080819, 0x08190808, 0x2b081908, 0x08190808, 0x2b08192b, 0x08190808, + 0x2b190808, 0x08190808, 0x2b191919, 0x08190808, 0x2b192b08, 0x08190808, 0x2b2b0819, 0x08190808, + 0x2b2b1908, 0x08190808, 0x08080808, 0x08190819, 0x0808082b, 0x08190819, 0x08081919, 0x08190819, + 0x08082b08, 0x08190819, 0x08082b2b, 0x08190819, 0x08190819, 0x08190819, 0x08191908, 0x08190819, + 0x0819192b, 0x08190819, 0x08192b19, 0x08190819, 0x082b0808, 0x08190819, 0x082b082b, 0x08190819, + 0x082b1919, 0x08190819, 0x082b2b08, 0x08190819, 0x19080819, 0x08190819, 0x19081908, 0x08190819, + 0x1908192b, 0x08190819, 0x19082b19, 0x08190819, 0x19190808, 0x08190819, 0x1919082b, 0x08190819, + 0x19191919, 0x08190819, 0x19192b08, 0x08190819, 0x192b0819, 0x08190819, 0x192b1908, 0x08190819, + 0x2b080808, 0x08190819, 0x2b08082b, 0x08190819, 0x2b081919, 0x08190819, 0x2b082b08, 0x08190819, + 0x2b190819, 0x08190819, 0x2b191908, 0x08190819, 0x08080819, 0x0819082b, 0x08081908, 0x0819082b, + 0x08082b19, 0x0819082b, 0x08190808, 0x0819082b, 0x08191919, 0x0819082b, 0x082b0819, 0x0819082b, + 0x082b1908, 0x0819082b, 0x19080808, 0x0819082b, 0x19081919, 0x0819082b, 0x19190819, 0x0819082b, + 0x19191908, 0x0819082b, 0x2b080819, 0x0819082b, 0x2b081908, 0x0819082b, 0x2b190808, 0x0819082b, + 0x08080808, 0x08191908, 0x0808082b, 0x08191908, 0x08081919, 0x08191908, 0x08082b08, 0x08191908, + 0x08190819, 0x08191908, 0x08191908, 0x08191908, 0x0819192b, 0x08191908, 0x08192b19, 0x08191908, + 0x082b0808, 0x08191908, 0x082b1919, 0x08191908, 0x082b2b08, 0x08191908, 0x19080819, 0x08191908, + 0x19081908, 0x08191908, 0x1908192b, 0x08191908, 0x19082b19, 0x08191908, 0x19190808, 0x08191908, + 0x1919082b, 0x08191908, 0x19191919, 0x08191908, 0x19192b08, 0x08191908, 0x192b0819, 0x08191908, + 0x192b1908, 0x08191908, 0x2b080808, 0x08191908, 0x2b08082b, 0x08191908, 0x2b081919, 0x08191908, + 0x2b082b08, 0x08191908, 0x2b190819, 0x08191908, 0x2b191908, 0x08191908, 0x2b2b0808, 0x08191908, + 0x08080819, 0x08191919, 0x08081908, 0x08191919, 0x0808192b, 0x08191919, 0x08082b19, 0x08191919, + 0x08190808, 0x08191919, 0x0819082b, 0x08191919, 0x08191919, 0x08191919, 0x08192b08, 0x08191919, + 0x082b0819, 0x08191919, 0x082b1908, 0x08191919, 0x19080808, 0x08191919, 0x1908082b, 0x08191919, + 0x19081919, 0x08191919, 0x19082b08, 0x08191919, 0x19190819, 0x08191919, 0x19191908, 0x08191919, + 0x192b0808, 0x08191919, 0x2b080819, 0x08191919, 0x2b081908, 0x08191919, 0x2b190808, 0x08191919, + 0x08080808, 0x0819192b, 0x08081919, 0x0819192b, 0x08082b08, 0x0819192b, 0x08190819, 0x0819192b, + 0x08191908, 0x0819192b, 0x082b0808, 0x0819192b, 0x19080819, 0x0819192b, 0x19081908, 0x0819192b, + 0x19190808, 0x0819192b, 0x2b080808, 0x0819192b, 0x2b2b2b2b, 0x0819192b, 0x08080819, 0x08192b08, + 0x08081908, 0x08192b08, 0x0808192b, 0x08192b08, 0x08082b19, 0x08192b08, 0x08190808, 0x08192b08, + 0x08191919, 0x08192b08, 0x08192b08, 0x08192b08, 0x082b0819, 0x08192b08, 0x19080808, 0x08192b08, + 0x1908082b, 0x08192b08, 0x19081919, 0x08192b08, 0x19082b08, 0x08192b08, 0x19190819, 0x08192b08, + 0x19191908, 0x08192b08, 0x192b0808, 0x08192b08, 0x2b080819, 0x08192b08, 0x2b081908, 0x08192b08, + 0x08080808, 0x08192b19, 0x0808082b, 0x08192b19, 0x08081919, 0x08192b19, 0x08082b08, 0x08192b19, + 0x08190819, 0x08192b19, 0x08191908, 0x08192b19, 0x082b0808, 0x08192b19, 0x19080819, 0x08192b19, + 0x19081908, 0x08192b19, 0x19190808, 0x08192b19, 0x192b2b19, 0x08192b19, 0x2b2b082b, 0x08192b19, + 0x08081908, 0x08192b2b, 0x08190808, 0x08192b2b, 0x19080808, 0x08192b2b, 0x1919192b, 0x08192b2b, + 0x08080808, 0x082b0808, 0x0808082b, 0x082b0808, 0x08081919, 0x082b0808, 0x08082b08, 0x082b0808, + 0x08190819, 0x082b0808, 0x08191908, 0x082b0808, 0x0819192b, 0x082b0808, 0x08192b19, 0x082b0808, + 0x082b0808, 0x082b0808, 0x082b1919, 0x082b0808, 0x082b2b2b, 0x082b0808, 0x19080819, 0x082b0808, + 0x19081908, 0x082b0808, 0x19190808, 0x082b0808, 0x1919082b, 0x082b0808, 0x19191919, 0x082b0808, + 0x192b1908, 0x082b0808, 0x2b080808, 0x082b0808, 0x2b082b2b, 0x082b0808, 0x2b191908, 0x082b0808, + 0x2b2b2b2b, 0x082b0808, 0x08080819, 0x082b0819, 0x08081908, 0x082b0819, 0x08190808, 0x082b0819, + 0x0819082b, 0x082b0819, 0x08191919, 0x082b0819, 0x082b0819, 0x082b0819, 0x19080808, 0x082b0819, + 0x1908082b, 0x082b0819, 0x19081919, 0x082b0819, 0x19190819, 0x082b0819, 0x19191908, 0x082b0819, + 0x192b0808, 0x082b0819, 0x2b080819, 0x082b0819, 0x2b081908, 0x082b0819, 0x2b190808, 0x082b0819, + 0x08080808, 0x082b082b, 0x08082b2b, 0x082b082b, 0x082b082b, 0x082b082b, 0x082b2b08, 0x082b082b, + 0x082b2b2b, 0x082b082b, 0x19081908, 0x082b082b, 0x19190808, 0x082b082b, 0x2b082b08, 0x082b082b, + 0x2b082b2b, 0x082b082b, 0x2b2b2b08, 0x082b082b, 0x08080819, 0x082b1908, 0x08081908, 0x082b1908, + 0x0808192b, 0x082b1908, 0x08082b19, 0x082b1908, 0x08190808, 0x082b1908, 0x08191919, 0x082b1908, + 0x08192b08, 0x082b1908, 0x082b0819, 0x082b1908, 0x082b1908, 0x082b1908, 0x19080808, 0x082b1908, + 0x1908082b, 0x082b1908, 0x19081919, 0x082b1908, 0x19082b08, 0x082b1908, 0x19190819, 0x082b1908, + 0x19191908, 0x082b1908, 0x192b0808, 0x082b1908, 0x2b080819, 0x082b1908, 0x2b081908, 0x082b1908, + 0x2b190808, 0x082b1908, 0x08080808, 0x082b1919, 0x08081919, 0x082b1919, 0x08082b08, 0x082b1919, + 0x08190819, 0x082b1919, 0x08191908, 0x082b1919, 0x082b0808, 0x082b1919, 0x19080819, 0x082b1919, + 0x19081908, 0x082b1919, 0x19190808, 0x082b1919, 0x192b192b, 0x082b1919, 0x2b080808, 0x082b1919, + 0x08080819, 0x082b192b, 0x08081908, 0x082b192b, 0x08190808, 0x082b192b, 0x19080808, 0x082b192b, + 0x19192b19, 0x082b192b, 0x08080808, 0x082b2b08, 0x08081919, 0x082b2b08, 0x08190819, 0x082b2b08, + 0x08191908, 0x082b2b08, 0x19080819, 0x082b2b08, 0x19081908, 0x082b2b08, 0x19190808, 0x082b2b08, + 0x2b082b2b, 0x082b2b08, 0x2b2b2b2b, 0x082b2b08, 0x08080819, 0x082b2b19, 0x08081908, 0x082b2b19, + 0x08190808, 0x082b2b19, 0x2b191919, 0x082b2b19, 0x08082b2b, 0x082b2b2b, 0x082b082b, 0x082b2b2b, + 0x192b1908, 0x082b2b2b, 0x2b082b08, 0x082b2b2b, 0x2b082b2b, 0x082b2b2b, 0x08080819, 0x19080808, + 0x08081908, 0x19080808, 0x0808192b, 0x19080808, 0x08082b19, 0x19080808, 0x08190808, 0x19080808, + 0x0819082b, 0x19080808, 0x08191919, 0x19080808, 0x08192b08, 0x19080808, 0x08192b2b, 0x19080808, + 0x082b0819, 0x19080808, 0x082b1908, 0x19080808, 0x082b192b, 0x19080808, 0x19080808, 0x19080808, + 0x1908082b, 0x19080808, 0x19081919, 0x19080808, 0x19082b08, 0x19080808, 0x19082b2b, 0x19080808, + 0x19190819, 0x19080808, 0x19191908, 0x19080808, 0x1919192b, 0x19080808, 0x19192b19, 0x19080808, + 0x192b0808, 0x19080808, 0x192b082b, 0x19080808, 0x192b1919, 0x19080808, 0x2b080819, 0x19080808, + 0x2b081908, 0x19080808, 0x2b190808, 0x19080808, 0x2b191919, 0x19080808, 0x2b192b08, 0x19080808, + 0x2b2b0819, 0x19080808, 0x2b2b1908, 0x19080808, 0x08080808, 0x19080819, 0x0808082b, 0x19080819, + 0x08081919, 0x19080819, 0x08082b08, 0x19080819, 0x08190819, 0x19080819, 0x08191908, 0x19080819, + 0x0819192b, 0x19080819, 0x08192b19, 0x19080819, 0x082b0808, 0x19080819, 0x082b082b, 0x19080819, + 0x082b1919, 0x19080819, 0x19080819, 0x19080819, 0x19081908, 0x19080819, 0x1908192b, 0x19080819, + 0x19082b19, 0x19080819, 0x19190808, 0x19080819, 0x1919082b, 0x19080819, 0x19191919, 0x19080819, + 0x19192b08, 0x19080819, 0x192b0819, 0x19080819, 0x192b1908, 0x19080819, 0x2b080808, 0x19080819, + 0x2b08082b, 0x19080819, 0x2b081919, 0x19080819, 0x2b082b08, 0x19080819, 0x2b190819, 0x19080819, + 0x2b191908, 0x19080819, 0x2b2b0808, 0x19080819, 0x08080819, 0x1908082b, 0x08081908, 0x1908082b, + 0x08190808, 0x1908082b, 0x0819082b, 0x1908082b, 0x08191919, 0x1908082b, 0x08192b08, 0x1908082b, + 0x082b1908, 0x1908082b, 0x19080808, 0x1908082b, 0x19081919, 0x1908082b, 0x19082b08, 0x1908082b, + 0x19190819, 0x1908082b, 0x19191908, 0x1908082b, 0x192b0808, 0x1908082b, 0x2b080819, 0x1908082b, + 0x2b081908, 0x1908082b, 0x08080808, 0x19081908, 0x0808082b, 0x19081908, 0x08081919, 0x19081908, + 0x08082b08, 0x19081908, 0x08082b2b, 0x19081908, 0x08190819, 0x19081908, 0x08191908, 0x19081908, + 0x0819192b, 0x19081908, 0x08192b19, 0x19081908, 0x082b0808, 0x19081908, 0x082b082b, 0x19081908, + 0x082b1919, 0x19081908, 0x082b2b08, 0x19081908, 0x19080819, 0x19081908, 0x19081908, 0x19081908, + 0x1908192b, 0x19081908, 0x19082b19, 0x19081908, 0x19190808, 0x19081908, 0x1919082b, 0x19081908, + 0x19191919, 0x19081908, 0x19192b08, 0x19081908, 0x192b0819, 0x19081908, 0x192b1908, 0x19081908, + 0x2b080808, 0x19081908, 0x2b08082b, 0x19081908, 0x2b081919, 0x19081908, 0x2b082b08, 0x19081908, + 0x2b190819, 0x19081908, 0x2b191908, 0x19081908, 0x2b2b0808, 0x19081908, 0x08080819, 0x19081919, + 0x08081908, 0x19081919, 0x0808192b, 0x19081919, 0x08082b19, 0x19081919, 0x08190808, 0x19081919, + 0x0819082b, 0x19081919, 0x08191919, 0x19081919, 0x08192b08, 0x19081919, 0x082b0819, 0x19081919, + 0x082b1908, 0x19081919, 0x19080808, 0x19081919, 0x1908082b, 0x19081919, 0x19081919, 0x19081919, + 0x19082b08, 0x19081919, 0x19190819, 0x19081919, 0x19191908, 0x19081919, 0x192b0808, 0x19081919, + 0x192b2b2b, 0x19081919, 0x2b080819, 0x19081919, 0x2b081908, 0x19081919, 0x2b190808, 0x19081919, + 0x08080808, 0x1908192b, 0x0808082b, 0x1908192b, 0x08081919, 0x1908192b, 0x08082b08, 0x1908192b, + 0x08190819, 0x1908192b, 0x08191908, 0x1908192b, 0x082b0808, 0x1908192b, 0x19080819, 0x1908192b, + 0x19081908, 0x1908192b, 0x19190808, 0x1908192b, 0x2b080808, 0x1908192b, 0x2b2b1919, 0x1908192b, + 0x08080819, 0x19082b08, 0x08081908, 0x19082b08, 0x08082b19, 0x19082b08, 0x08190808, 0x19082b08, + 0x0819082b, 0x19082b08, 0x08191919, 0x19082b08, 0x08192b08, 0x19082b08, 0x082b0819, 0x19082b08, + 0x082b1908, 0x19082b08, 0x19080808, 0x19082b08, 0x1908082b, 0x19082b08, 0x19081919, 0x19082b08, + 0x19082b08, 0x19082b08, 0x19190819, 0x19082b08, 0x19191908, 0x19082b08, 0x192b0808, 0x19082b08, + 0x2b081908, 0x19082b08, 0x2b190808, 0x19082b08, 0x08080808, 0x19082b19, 0x0808082b, 0x19082b19, + 0x08081919, 0x19082b19, 0x08082b08, 0x19082b19, 0x08190819, 0x19082b19, 0x08191908, 0x19082b19, + 0x082b0808, 0x19082b19, 0x19080819, 0x19082b19, 0x19081908, 0x19082b19, 0x19190808, 0x19082b19, + 0x2b080808, 0x19082b19, 0x2b19192b, 0x19082b19, 0x08080819, 0x19082b2b, 0x08081908, 0x19082b2b, + 0x08190808, 0x19082b2b, 0x19080808, 0x19082b2b, 0x08080808, 0x19190808, 0x0808082b, 0x19190808, + 0x08081919, 0x19190808, 0x08082b08, 0x19190808, 0x08190819, 0x19190808, 0x08191908, 0x19190808, + 0x0819192b, 0x19190808, 0x08192b19, 0x19190808, 0x082b0808, 0x19190808, 0x082b082b, 0x19190808, + 0x082b1919, 0x19190808, 0x082b2b08, 0x19190808, 0x19080819, 0x19190808, 0x19081908, 0x19190808, + 0x1908192b, 0x19190808, 0x19082b19, 0x19190808, 0x19190808, 0x19190808, 0x1919082b, 0x19190808, + 0x19191919, 0x19190808, 0x19192b08, 0x19190808, 0x192b0819, 0x19190808, 0x192b1908, 0x19190808, + 0x2b080808, 0x19190808, 0x2b08082b, 0x19190808, 0x2b081919, 0x19190808, 0x2b082b08, 0x19190808, + 0x2b190819, 0x19190808, 0x2b191908, 0x19190808, 0x08080819, 0x19190819, 0x08081908, 0x19190819, + 0x0808192b, 0x19190819, 0x08082b19, 0x19190819, 0x08190808, 0x19190819, 0x0819082b, 0x19190819, + 0x08191919, 0x19190819, 0x08192b08, 0x19190819, 0x082b0819, 0x19190819, 0x082b1908, 0x19190819, + 0x19080808, 0x19190819, 0x1908082b, 0x19190819, 0x19081919, 0x19190819, 0x19082b08, 0x19190819, + 0x19190819, 0x19190819, 0x19191908, 0x19190819, 0x192b0808, 0x19190819, 0x2b080819, 0x19190819, + 0x2b081908, 0x19190819, 0x2b190808, 0x19190819, 0x08080808, 0x1919082b, 0x08081919, 0x1919082b, + 0x08082b08, 0x1919082b, 0x08190819, 0x1919082b, 0x08191908, 0x1919082b, 0x082b0808, 0x1919082b, + 0x19080819, 0x1919082b, 0x19081908, 0x1919082b, 0x19190808, 0x1919082b, 0x192b2b19, 0x1919082b, + 0x2b080808, 0x1919082b, 0x08080819, 0x19191908, 0x08081908, 0x19191908, 0x0808192b, 0x19191908, + 0x08082b19, 0x19191908, 0x08190808, 0x19191908, 0x0819082b, 0x19191908, 0x08191919, 0x19191908, + 0x08192b08, 0x19191908, 0x082b0819, 0x19191908, 0x082b1908, 0x19191908, 0x19080808, 0x19191908, + 0x1908082b, 0x19191908, 0x19081919, 0x19191908, 0x19082b08, 0x19191908, 0x19190819, 0x19191908, + 0x19191908, 0x19191908, 0x192b0808, 0x19191908, 0x2b080819, 0x19191908, 0x2b081908, 0x19191908, + 0x2b190808, 0x19191908, 0x08080808, 0x19191919, 0x0808082b, 0x19191919, 0x08081919, 0x19191919, + 0x08082b08, 0x19191919, 0x08190819, 0x19191919, 0x08191908, 0x19191919, 0x082b0808, 0x19191919, + 0x19080819, 0x19191919, 0x19081908, 0x19191919, 0x19190808, 0x19191919, 0x2b080808, 0x19191919, + 0x08080819, 0x1919192b, 0x08081908, 0x1919192b, 0x08190808, 0x1919192b, 0x082b192b, 0x1919192b, + 0x19080808, 0x1919192b, 0x08080808, 0x19192b08, 0x0808082b, 0x19192b08, 0x08081919, 0x19192b08, + 0x08082b08, 0x19192b08, 0x08190819, 0x19192b08, 0x08191908, 0x19192b08, 0x082b0808, 0x19192b08, + 0x19080819, 0x19192b08, 0x19081908, 0x19192b08, 0x19190808, 0x19192b08, 0x19192b2b, 0x19192b08, + 0x2b080808, 0x19192b08, 0x08080819, 0x19192b19, 0x08081908, 0x19192b19, 0x08190808, 0x19192b19, + 0x19080808, 0x19192b19, 0x08080808, 0x19192b2b, 0x08192b19, 0x19192b2b, 0x2b081919, 0x19192b2b, + 0x2b2b2b08, 0x19192b2b, 0x08080819, 0x192b0808, 0x08081908, 0x192b0808, 0x0808192b, 0x192b0808, + 0x08190808, 0x192b0808, 0x0819082b, 0x192b0808, 0x08191919, 0x192b0808, 0x08192b08, 0x192b0808, + 0x082b0819, 0x192b0808, 0x082b1908, 0x192b0808, 0x19080808, 0x192b0808, 0x19081919, 0x192b0808, + 0x19082b08, 0x192b0808, 0x19190819, 0x192b0808, 0x19191908, 0x192b0808, 0x192b0808, 0x192b0808, + 0x2b081908, 0x192b0808, 0x2b190808, 0x192b0808, 0x08080808, 0x192b0819, 0x0808082b, 0x192b0819, + 0x08081919, 0x192b0819, 0x08082b08, 0x192b0819, 0x08190819, 0x192b0819, 0x08191908, 0x192b0819, + 0x082b0808, 0x192b0819, 0x19080819, 0x192b0819, 0x19081908, 0x192b0819, 0x19190808, 0x192b0819, + 0x2b080808, 0x192b0819, 0x2b192b19, 0x192b0819, 0x08081908, 0x192b082b, 0x08190808, 0x192b082b, + 0x19080808, 0x192b082b, 0x1919192b, 0x192b082b, 0x2b2b0819, 0x192b082b, 0x08080808, 0x192b1908, + 0x08081919, 0x192b1908, 0x08082b08, 0x192b1908, 0x08190819, 0x192b1908, 0x08191908, 0x192b1908, + 0x082b0808, 0x192b1908, 0x19080819, 0x192b1908, 0x19081908, 0x192b1908, 0x19190808, 0x192b1908, + 0x2b080808, 0x192b1908, 0x08080819, 0x192b1919, 0x08081908, 0x192b1919, 0x08190808, 0x192b1919, + 0x19080808, 0x192b1919, 0x19082b2b, 0x192b1919, 0x192b2b08, 0x192b1919, 0x2b19082b, 0x192b1919, + 0x08080808, 0x192b192b, 0x2b191908, 0x192b192b, 0x08080819, 0x192b2b08, 0x08081908, 0x192b2b08, + 0x08190808, 0x192b2b08, 0x192b1919, 0x192b2b08, 0x2b192b08, 0x192b2b08, 0x08080808, 0x192b2b19, + 0x082b2b2b, 0x192b2b19, 0x1908082b, 0x192b2b2b, 0x2b2b0819, 0x192b2b2b, 0x08080808, 0x2b080808, + 0x0808082b, 0x2b080808, 0x08081919, 0x2b080808, 0x08082b08, 0x2b080808, 0x08190819, 0x2b080808, + 0x08191908, 0x2b080808, 0x08192b19, 0x2b080808, 0x082b0808, 0x2b080808, 0x082b1919, 0x2b080808, + 0x19080819, 0x2b080808, 0x19081908, 0x2b080808, 0x19190808, 0x2b080808, 0x1919082b, 0x2b080808, + 0x19191919, 0x2b080808, 0x19192b08, 0x2b080808, 0x192b0819, 0x2b080808, 0x2b080808, 0x2b080808, + 0x2b081919, 0x2b080808, 0x2b190819, 0x2b080808, 0x2b191908, 0x2b080808, 0x08080819, 0x2b080819, + 0x08081908, 0x2b080819, 0x08082b19, 0x2b080819, 0x08190808, 0x2b080819, 0x0819082b, 0x2b080819, + 0x08191919, 0x2b080819, 0x08192b08, 0x2b080819, 0x082b0819, 0x2b080819, 0x082b1908, 0x2b080819, + 0x19080808, 0x2b080819, 0x1908082b, 0x2b080819, 0x19081919, 0x2b080819, 0x19082b08, 0x2b080819, + 0x19190819, 0x2b080819, 0x19191908, 0x2b080819, 0x2b080819, 0x2b080819, 0x2b081908, 0x2b080819, + 0x2b190808, 0x2b080819, 0x2b2b2b19, 0x2b080819, 0x08080808, 0x2b08082b, 0x08081919, 0x2b08082b, + 0x08082b2b, 0x2b08082b, 0x08190819, 0x2b08082b, 0x08191908, 0x2b08082b, 0x19080819, 0x2b08082b, + 0x19081908, 0x2b08082b, 0x19190808, 0x2b08082b, 0x08080819, 0x2b081908, 0x08081908, 0x2b081908, + 0x0808192b, 0x2b081908, 0x08082b19, 0x2b081908, 0x08190808, 0x2b081908, 0x0819082b, 0x2b081908, + 0x08191919, 0x2b081908, 0x08192b08, 0x2b081908, 0x082b0819, 0x2b081908, 0x19080808, 0x2b081908, + 0x1908082b, 0x2b081908, 0x19081919, 0x2b081908, 0x19082b08, 0x2b081908, 0x19190819, 0x2b081908, + 0x19191908, 0x2b081908, 0x192b0808, 0x2b081908, 0x2b080819, 0x2b081908, 0x2b081908, 0x2b081908, + 0x2b190808, 0x2b081908, 0x08080808, 0x2b081919, 0x0808082b, 0x2b081919, 0x08081919, 0x2b081919, + 0x08082b08, 0x2b081919, 0x08190819, 0x2b081919, 0x08191908, 0x2b081919, 0x082b0808, 0x2b081919, + 0x19080819, 0x2b081919, 0x19081908, 0x2b081919, 0x19190808, 0x2b081919, 0x2b080808, 0x2b081919, + 0x2b082b2b, 0x2b081919, 0x08080819, 0x2b08192b, 0x08081908, 0x2b08192b, 0x08190808, 0x2b08192b, + 0x082b2b19, 0x2b08192b, 0x19080808, 0x2b08192b, 0x08080808, 0x2b082b08, 0x08081919, 0x2b082b08, + 0x08190819, 0x2b082b08, 0x08191908, 0x2b082b08, 0x19080819, 0x2b082b08, 0x19081908, 0x2b082b08, + 0x19190808, 0x2b082b08, 0x2b2b082b, 0x2b082b08, 0x08080819, 0x2b082b19, 0x08081908, 0x2b082b19, + 0x19080808, 0x2b082b19, 0x192b1919, 0x2b082b19, 0x082b082b, 0x2b082b2b, 0x19192b08, 0x2b082b2b, + 0x19192b2b, 0x2b082b2b, 0x2b08082b, 0x2b082b2b, 0x2b2b082b, 0x2b082b2b, 0x08080819, 0x2b190808, + 0x08081908, 0x2b190808, 0x08082b19, 0x2b190808, 0x08190808, 0x2b190808, 0x0819082b, 0x2b190808, + 0x08191919, 0x2b190808, 0x08192b08, 0x2b190808, 0x082b1908, 0x2b190808, 0x19080808, 0x2b190808, + 0x1908082b, 0x2b190808, 0x19081919, 0x2b190808, 0x19082b08, 0x2b190808, 0x19190819, 0x2b190808, + 0x19191908, 0x2b190808, 0x192b0808, 0x2b190808, 0x2b080819, 0x2b190808, 0x2b081908, 0x2b190808, + 0x2b190808, 0x2b190808, 0x08080808, 0x2b190819, 0x08081919, 0x2b190819, 0x08190819, 0x2b190819, + 0x08191908, 0x2b190819, 0x19080819, 0x2b190819, 0x19081908, 0x2b190819, 0x19190808, 0x2b190819, + 0x19192b2b, 0x2b190819, 0x08080819, 0x2b19082b, 0x08081908, 0x2b19082b, 0x08190808, 0x2b19082b, + 0x19080808, 0x2b19082b, 0x2b2b192b, 0x2b19082b, 0x08080808, 0x2b191908, 0x0808082b, 0x2b191908, + 0x08081919, 0x2b191908, 0x08082b08, 0x2b191908, 0x08190819, 0x2b191908, 0x08191908, 0x2b191908, + 0x082b0808, 0x2b191908, 0x19080819, 0x2b191908, 0x19081908, 0x2b191908, 0x19190808, 0x2b191908, + 0x2b080808, 0x2b191908, 0x2b19192b, 0x2b191908, 0x08080819, 0x2b191919, 0x08081908, 0x2b191919, + 0x08190808, 0x2b191919, 0x19080808, 0x2b191919, 0x2b192b08, 0x2b191919, 0x2b2b0819, 0x2b191919, + 0x08080808, 0x2b19192b, 0x1908192b, 0x2b19192b, 0x192b1908, 0x2b19192b, 0x08080819, 0x2b192b08, + 0x08081908, 0x2b192b08, 0x08190808, 0x2b192b08, 0x082b192b, 0x2b192b08, 0x19080808, 0x2b192b08, + 0x2b2b2b19, 0x2b192b08, 0x08080808, 0x2b192b19, 0x19082b19, 0x2b192b19, 0x1919082b, 0x2b192b19, + 0x2b190808, 0x2b192b2b, 0x08080808, 0x2b2b0808, 0x08081919, 0x2b2b0808, 0x08082b2b, 0x2b2b0808, + 0x08191908, 0x2b2b0808, 0x082b082b, 0x2b2b0808, 0x082b2b2b, 0x2b2b0808, 0x19080819, 0x2b2b0808, + 0x19081908, 0x2b2b0808, 0x19190808, 0x2b2b0808, 0x2b2b082b, 0x2b2b0808, 0x2b2b2b2b, 0x2b2b0808, + 0x19080808, 0x2b2b0819, 0x192b1919, 0x2b2b0819, 0x0808082b, 0x2b2b082b, 0x08082b2b, 0x2b2b082b, + 0x082b082b, 0x2b2b082b, 0x082b2b08, 0x2b2b082b, 0x082b2b2b, 0x2b2b082b, 0x2b08082b, 0x2b2b082b, + 0x2b082b08, 0x2b2b082b, 0x2b082b2b, 0x2b2b082b, 0x2b2b2b08, 0x2b2b082b, 0x08080819, 0x2b2b1908, + 0x08081908, 0x2b2b1908, 0x08190808, 0x2b2b1908, 0x19080808, 0x2b2b1908, 0x2b082b19, 0x2b2b1908, + 0x2b2b1908, 0x2b2b1908, 0x08080808, 0x2b2b1919, 0x08192b19, 0x2b2b1919, 0x19190819, 0x2b2b192b, + 0x08082b2b, 0x2b2b2b08, 0x082b2b08, 0x2b2b2b08, 0x2b2b082b, 0x2b2b2b08, 0x19191908, 0x2b2b2b19, + 0x2b08192b, 0x2b2b2b19, 0x08082b08, 0x2b2b2b2b, 0x08082b2b, 0x2b2b2b2b, 0x082b0808, 0x2b2b2b2b, + 0x082b082b, 0x2b2b2b2b, 0x082b2b08, 0x2b2b2b2b, 0x2b082b08, 0x2b2b2b2b, 0x2b2b2b2b, 0x2b2b2b2b +); +#enddecl(IQ2_S_GRID) + +#decl(IQ3_XSS_GRID) + +const iq3xxs_grid = array( + 0x04040404, 0x04040414, 0x04040424, 0x04040c0c, 0x04040c1c, 0x04040c3e, 0x04041404, 0x04041414, + 0x04041c0c, 0x04042414, 0x04043e1c, 0x04043e2c, 0x040c040c, 0x040c041c, 0x040c0c04, 0x040c0c14, + 0x040c140c, 0x040c142c, 0x040c1c04, 0x040c1c14, 0x040c240c, 0x040c2c24, 0x040c3e04, 0x04140404, + 0x04140414, 0x04140424, 0x04140c0c, 0x04141404, 0x04141414, 0x04141c0c, 0x04141c1c, 0x04141c3e, + 0x04142c0c, 0x04142c3e, 0x04143e2c, 0x041c040c, 0x041c043e, 0x041c0c04, 0x041c0c14, 0x041c142c, + 0x041c3e04, 0x04240c1c, 0x04241c3e, 0x04242424, 0x04242c3e, 0x04243e1c, 0x04243e2c, 0x042c040c, + 0x042c043e, 0x042c1c14, 0x042c2c14, 0x04341c2c, 0x04343424, 0x043e0c04, 0x043e0c24, 0x043e0c34, + 0x043e241c, 0x043e340c, 0x0c04040c, 0x0c04041c, 0x0c040c04, 0x0c040c14, 0x0c04140c, 0x0c04141c, + 0x0c041c04, 0x0c041c14, 0x0c041c24, 0x0c04243e, 0x0c042c04, 0x0c0c0404, 0x0c0c0414, 0x0c0c0c0c, + 0x0c0c1404, 0x0c0c1414, 0x0c14040c, 0x0c14041c, 0x0c140c04, 0x0c140c14, 0x0c14140c, 0x0c141c04, + 0x0c143e14, 0x0c1c0404, 0x0c1c0414, 0x0c1c1404, 0x0c1c1c0c, 0x0c1c2434, 0x0c1c3434, 0x0c24040c, + 0x0c24042c, 0x0c242c04, 0x0c2c1404, 0x0c2c1424, 0x0c2c2434, 0x0c2c3e0c, 0x0c34042c, 0x0c3e1414, + 0x0c3e2404, 0x14040404, 0x14040414, 0x14040c0c, 0x14040c1c, 0x14041404, 0x14041414, 0x14041434, + 0x14041c0c, 0x14042414, 0x140c040c, 0x140c041c, 0x140c042c, 0x140c0c04, 0x140c0c14, 0x140c140c, + 0x140c1c04, 0x140c341c, 0x140c343e, 0x140c3e04, 0x14140404, 0x14140414, 0x14140c0c, 0x14140c3e, + 0x14141404, 0x14141414, 0x14141c3e, 0x14142404, 0x14142c2c, 0x141c040c, 0x141c0c04, 0x141c0c24, + 0x141c3e04, 0x141c3e24, 0x14241c2c, 0x14242c1c, 0x142c041c, 0x142c143e, 0x142c240c, 0x142c3e24, + 0x143e040c, 0x143e041c, 0x143e0c34, 0x143e242c, 0x1c04040c, 0x1c040c04, 0x1c040c14, 0x1c04140c, + 0x1c04141c, 0x1c042c04, 0x1c04342c, 0x1c043e14, 0x1c0c0404, 0x1c0c0414, 0x1c0c1404, 0x1c0c1c0c, + 0x1c0c2424, 0x1c0c2434, 0x1c14040c, 0x1c14041c, 0x1c140c04, 0x1c14142c, 0x1c142c14, 0x1c143e14, + 0x1c1c0c0c, 0x1c1c1c1c, 0x1c241c04, 0x1c24243e, 0x1c243e14, 0x1c2c0404, 0x1c2c0434, 0x1c2c1414, + 0x1c2c2c2c, 0x1c340c24, 0x1c341c34, 0x1c34341c, 0x1c3e1c1c, 0x1c3e3404, 0x24040424, 0x24040c3e, + 0x24041c2c, 0x24041c3e, 0x24042c1c, 0x24042c3e, 0x240c3e24, 0x24141404, 0x24141c3e, 0x24142404, + 0x24143404, 0x24143434, 0x241c043e, 0x241c242c, 0x24240424, 0x24242c0c, 0x24243424, 0x242c142c, + 0x242c241c, 0x242c3e04, 0x243e042c, 0x243e0c04, 0x243e0c14, 0x243e1c04, 0x2c040c14, 0x2c04240c, + 0x2c043e04, 0x2c0c0404, 0x2c0c0434, 0x2c0c1434, 0x2c0c2c2c, 0x2c140c24, 0x2c141c14, 0x2c143e14, + 0x2c1c0414, 0x2c1c2c1c, 0x2c240c04, 0x2c24141c, 0x2c24143e, 0x2c243e14, 0x2c2c0414, 0x2c2c1c0c, + 0x2c342c04, 0x2c3e1424, 0x2c3e2414, 0x34041424, 0x34042424, 0x34042434, 0x34043424, 0x340c140c, + 0x340c340c, 0x34140c3e, 0x34143424, 0x341c1c04, 0x341c1c34, 0x34242424, 0x342c042c, 0x342c2c14, + 0x34341c1c, 0x343e041c, 0x343e140c, 0x3e04041c, 0x3e04042c, 0x3e04043e, 0x3e040c04, 0x3e041c14, + 0x3e042c14, 0x3e0c1434, 0x3e0c2404, 0x3e140c14, 0x3e14242c, 0x3e142c14, 0x3e1c0404, 0x3e1c0c2c, + 0x3e1c1c1c, 0x3e1c3404, 0x3e24140c, 0x3e24240c, 0x3e2c0404, 0x3e2c0414, 0x3e2c1424, 0x3e341c04 +); +#enddecl(IQ3_XSS_GRID) + +#decl(IQ3_S_GRID) + +const iq3s_grid = array( + 0x01010101, 0x01010103, 0x01010105, 0x0101010b, 0x0101010f, 0x01010301, 0x01010303, 0x01010305, + 0x01010309, 0x0101030d, 0x01010501, 0x01010503, 0x0101050b, 0x01010707, 0x01010901, 0x01010905, + 0x0101090b, 0x0101090f, 0x01010b03, 0x01010b07, 0x01010d01, 0x01010d05, 0x01010f03, 0x01010f09, + 0x01010f0f, 0x01030101, 0x01030103, 0x01030105, 0x01030109, 0x01030301, 0x01030303, 0x0103030b, + 0x01030501, 0x01030507, 0x0103050f, 0x01030703, 0x0103070b, 0x01030909, 0x01030d03, 0x01030d0b, + 0x01030f05, 0x01050101, 0x01050103, 0x0105010b, 0x0105010f, 0x01050301, 0x01050307, 0x0105030d, + 0x01050503, 0x0105050b, 0x01050701, 0x01050709, 0x01050905, 0x0105090b, 0x0105090f, 0x01050b03, + 0x01050b07, 0x01050f01, 0x01050f07, 0x01070107, 0x01070303, 0x0107030b, 0x01070501, 0x01070505, + 0x01070703, 0x01070707, 0x0107070d, 0x01070909, 0x01070b01, 0x01070b05, 0x01070d0f, 0x01070f03, + 0x01070f0b, 0x01090101, 0x01090307, 0x0109030f, 0x01090503, 0x01090509, 0x01090705, 0x01090901, + 0x01090907, 0x01090b03, 0x01090f01, 0x010b0105, 0x010b0109, 0x010b0501, 0x010b0505, 0x010b050d, + 0x010b0707, 0x010b0903, 0x010b090b, 0x010b090f, 0x010b0d0d, 0x010b0f07, 0x010d010d, 0x010d0303, + 0x010d0307, 0x010d0703, 0x010d0b05, 0x010d0f03, 0x010f0101, 0x010f0105, 0x010f0109, 0x010f0501, + 0x010f0505, 0x010f050d, 0x010f0707, 0x010f0b01, 0x010f0b09, 0x03010101, 0x03010103, 0x03010105, + 0x03010109, 0x03010301, 0x03010303, 0x03010307, 0x0301030b, 0x0301030f, 0x03010501, 0x03010505, + 0x03010703, 0x03010709, 0x0301070d, 0x03010b09, 0x03010b0d, 0x03010d03, 0x03010f05, 0x03030101, + 0x03030103, 0x03030107, 0x0303010d, 0x03030301, 0x03030309, 0x03030503, 0x03030701, 0x03030707, + 0x03030903, 0x03030b01, 0x03030b05, 0x03030f01, 0x03030f0d, 0x03050101, 0x03050305, 0x0305030b, + 0x0305030f, 0x03050501, 0x03050509, 0x03050705, 0x03050901, 0x03050907, 0x03050b0b, 0x03050d01, + 0x03050f05, 0x03070103, 0x03070109, 0x0307010f, 0x03070301, 0x03070307, 0x03070503, 0x0307050f, + 0x03070701, 0x03070709, 0x03070903, 0x03070d05, 0x03070f01, 0x03090107, 0x0309010b, 0x03090305, + 0x03090309, 0x03090703, 0x03090707, 0x03090905, 0x0309090d, 0x03090b01, 0x03090b09, 0x030b0103, + 0x030b0301, 0x030b0307, 0x030b0503, 0x030b0701, 0x030b0705, 0x030b0b03, 0x030d0501, 0x030d0509, + 0x030d050f, 0x030d0909, 0x030d090d, 0x030f0103, 0x030f0107, 0x030f0301, 0x030f0305, 0x030f0503, + 0x030f070b, 0x030f0903, 0x030f0d05, 0x030f0f01, 0x05010101, 0x05010103, 0x05010107, 0x0501010b, + 0x0501010f, 0x05010301, 0x05010305, 0x05010309, 0x0501030d, 0x05010503, 0x05010507, 0x0501050f, + 0x05010701, 0x05010705, 0x05010903, 0x05010907, 0x0501090b, 0x05010b01, 0x05010b05, 0x05010d0f, + 0x05010f01, 0x05010f07, 0x05010f0b, 0x05030101, 0x05030105, 0x05030301, 0x05030307, 0x0503030f, + 0x05030505, 0x0503050b, 0x05030703, 0x05030709, 0x05030905, 0x05030b03, 0x05050103, 0x05050109, + 0x0505010f, 0x05050503, 0x05050507, 0x05050701, 0x0505070f, 0x05050903, 0x05050b07, 0x05050b0f, + 0x05050f03, 0x05050f09, 0x05070101, 0x05070105, 0x0507010b, 0x05070303, 0x05070505, 0x05070509, + 0x05070703, 0x05070707, 0x05070905, 0x05070b01, 0x05070d0d, 0x05090103, 0x0509010f, 0x05090501, + 0x05090507, 0x05090705, 0x0509070b, 0x05090903, 0x05090f05, 0x05090f0b, 0x050b0109, 0x050b0303, + 0x050b0505, 0x050b070f, 0x050b0901, 0x050b0b07, 0x050b0f01, 0x050d0101, 0x050d0105, 0x050d010f, + 0x050d0503, 0x050d0b0b, 0x050d0d03, 0x050f010b, 0x050f0303, 0x050f050d, 0x050f0701, 0x050f0907, + 0x050f0b01, 0x07010105, 0x07010303, 0x07010307, 0x0701030b, 0x0701030f, 0x07010505, 0x07010703, + 0x07010707, 0x0701070b, 0x07010905, 0x07010909, 0x0701090f, 0x07010b03, 0x07010d07, 0x07010f03, + 0x07030103, 0x07030107, 0x0703010b, 0x07030309, 0x07030503, 0x07030507, 0x07030901, 0x07030d01, + 0x07030f05, 0x07030f0d, 0x07050101, 0x07050305, 0x07050501, 0x07050705, 0x07050709, 0x07050b01, + 0x07070103, 0x07070301, 0x07070309, 0x07070503, 0x07070507, 0x0707050f, 0x07070701, 0x07070903, + 0x07070907, 0x0707090f, 0x07070b0b, 0x07070f07, 0x07090107, 0x07090303, 0x0709030d, 0x07090505, + 0x07090703, 0x07090b05, 0x07090d01, 0x07090d09, 0x070b0103, 0x070b0301, 0x070b0305, 0x070b050b, + 0x070b0705, 0x070b0909, 0x070b0b0d, 0x070b0f07, 0x070d030d, 0x070d0903, 0x070f0103, 0x070f0107, + 0x070f0501, 0x070f0505, 0x070f070b, 0x09010101, 0x09010109, 0x09010305, 0x09010501, 0x09010509, + 0x0901050f, 0x09010705, 0x09010903, 0x09010b01, 0x09010f01, 0x09030105, 0x0903010f, 0x09030303, + 0x09030307, 0x09030505, 0x09030701, 0x0903070b, 0x09030907, 0x09030b03, 0x09030b0b, 0x09050103, + 0x09050107, 0x09050301, 0x0905030b, 0x09050503, 0x09050707, 0x09050901, 0x09050b0f, 0x09050d05, + 0x09050f01, 0x09070109, 0x09070303, 0x09070307, 0x09070501, 0x09070505, 0x09070703, 0x0907070b, + 0x09090101, 0x09090105, 0x09090509, 0x0909070f, 0x09090901, 0x09090f03, 0x090b010b, 0x090b010f, + 0x090b0503, 0x090b0d05, 0x090d0307, 0x090d0709, 0x090d0d01, 0x090f0301, 0x090f030b, 0x090f0701, + 0x090f0907, 0x090f0b03, 0x0b010105, 0x0b010301, 0x0b010309, 0x0b010505, 0x0b010901, 0x0b010909, + 0x0b01090f, 0x0b010b05, 0x0b010d0d, 0x0b010f09, 0x0b030103, 0x0b030107, 0x0b03010b, 0x0b030305, + 0x0b030503, 0x0b030705, 0x0b030f05, 0x0b050101, 0x0b050303, 0x0b050507, 0x0b050701, 0x0b05070d, + 0x0b050b07, 0x0b070105, 0x0b07010f, 0x0b070301, 0x0b07050f, 0x0b070909, 0x0b070b03, 0x0b070d0b, + 0x0b070f07, 0x0b090103, 0x0b090109, 0x0b090501, 0x0b090705, 0x0b09090d, 0x0b0b0305, 0x0b0b050d, + 0x0b0b0b03, 0x0b0b0b07, 0x0b0d0905, 0x0b0f0105, 0x0b0f0109, 0x0b0f0505, 0x0d010303, 0x0d010307, + 0x0d01030b, 0x0d010703, 0x0d010707, 0x0d010d01, 0x0d030101, 0x0d030501, 0x0d03050f, 0x0d030d09, + 0x0d050305, 0x0d050709, 0x0d050905, 0x0d050b0b, 0x0d050d05, 0x0d050f01, 0x0d070101, 0x0d070309, + 0x0d070503, 0x0d070901, 0x0d09050b, 0x0d090907, 0x0d090d05, 0x0d0b0101, 0x0d0b0107, 0x0d0b0709, + 0x0d0b0d01, 0x0d0d010b, 0x0d0d0901, 0x0d0f0303, 0x0d0f0307, 0x0f010101, 0x0f010109, 0x0f01010f, + 0x0f010501, 0x0f010505, 0x0f01070d, 0x0f010901, 0x0f010b09, 0x0f010d05, 0x0f030105, 0x0f030303, + 0x0f030509, 0x0f030907, 0x0f03090b, 0x0f050103, 0x0f050109, 0x0f050301, 0x0f05030d, 0x0f050503, + 0x0f050701, 0x0f050b03, 0x0f070105, 0x0f070705, 0x0f07070b, 0x0f070b07, 0x0f090103, 0x0f09010b, + 0x0f090307, 0x0f090501, 0x0f090b01, 0x0f0b0505, 0x0f0b0905, 0x0f0d0105, 0x0f0d0703, 0x0f0f0101 +); +#enddecl(IQ3_S_GRID) + +#decl(IQ1_GRID) + +const IQ1_DELTA: f32 = 0.125; + +const iq1_grid = array( + 0xfffdffff, 0xfff7fff0, 0xffccfff5, 0xffdfffc0, 0xffd7ffdd, 0xff30ffd5, 0xff03ff0c, 0xff10ff01, + 0xff7dff7f, 0xff75ff77, 0xff5fff40, 0xff57ff5d, 0xfcf3ff55, 0xfcccfcf0, 0xfcc1fcc3, 0xfcc5fcc4, + 0xfc3cfcd0, 0xfc34fc31, 0xfc00fc0d, 0xfc1cfc05, 0xfc11fc13, 0xfc70fc17, 0xfc43fc4c, 0xfc50fc41, + 0xfdfdfdff, 0xfdf5fdf7, 0xfddffdc0, 0xfdd7fddd, 0xfd30fdd5, 0xfd04fd0c, 0xfd14fd13, 0xfd7dfd7f, + 0xfd75fd77, 0xfd40fd4c, 0xfd5ffd44, 0xfd57fd5d, 0xf3ccfd55, 0xf3c1f3c3, 0xf33cf3d0, 0xf300f334, + 0xf313f305, 0xf34cf310, 0xf350f344, 0xf0f3f0fc, 0xf0f1f0f0, 0xf0c7f0c0, 0xf0d4f0c5, 0xf030f03f, + 0xf00ff035, 0xf003f00c, 0xf001f000, 0xf01ff004, 0xf010f01d, 0xf015f017, 0xf04cf07c, 0xf047f040, + 0xf05cf045, 0xf050f053, 0xf054f051, 0xf1c4f1c3, 0xf133f13c, 0xf10df10f, 0xf107f100, 0xf11cf11f, + 0xf114f111, 0xf14cf170, 0xf144f143, 0xf7fdf7ff, 0xf7f5f7f7, 0xf7dff7c0, 0xf7d7f7dd, 0xf730f7d5, + 0xf701f70c, 0xf77ff710, 0xf777f77d, 0xf740f775, 0xf75df75f, 0xf755f757, 0xf4ccf4f0, 0xf4c4f4c3, + 0xf4d0f4d3, 0xf40ff43c, 0xf400f40c, 0xf413f41c, 0xf44cf414, 0xf441f443, 0xf450f444, 0xf5fdf5ff, + 0xf5f5f5f7, 0xf5dff5c0, 0xf5d7f5dd, 0xf530f5d5, 0xf504f50c, 0xf510f51c, 0xf57df57f, 0xf577f570, + 0xf540f575, 0xf55df55f, 0xf555f557, 0xcfcccfcf, 0xcfc4cfc3, 0xcfd0cfd3, 0xcf33cf3c, 0xcf00cf0f, + 0xcf1ccf07, 0xcf10cf13, 0xcf4ccf14, 0xcf41cf43, 0xcf50cf5c, 0xccf3ccfc, 0xccf4ccf1, 0xcccdcccf, + 0xccc7ccc0, 0xccd3ccdc, 0xcc30ccd4, 0xcc0fcc35, 0xcc0dcc0c, 0xcc00cc03, 0xcc04cc01, 0xcc10cc1f, + 0xcc4dcc73, 0xcc5ccc40, 0xcdcccc53, 0xcdc1cdc3, 0xcd3fcdd0, 0xcd34cd31, 0xcd00cd0d, 0xcd05cd07, + 0xcd11cd13, 0xcd4ccd70, 0xcd41cd43, 0xc3fccd50, 0xc3f4c3f1, 0xc3c0c3c3, 0xc3c4c3c7, 0xc3d1c3dc, + 0xc330c33c, 0xc337c331, 0xc30cc335, 0xc300c303, 0xc304c301, 0xc310c31d, 0xc373c317, 0xc34fc374, + 0xc340c343, 0xc344c347, 0xc35cc345, 0xc350c353, 0xc0fdc354, 0xc0f5c0f0, 0xc0c3c0cc, 0xc0c1c0c0, + 0xc0dfc0c4, 0xc0d0c0dd, 0xc0d5c0d7, 0xc033c03c, 0xc031c030, 0xc00dc00c, 0xc000c003, 0xc004c001, + 0xc01cc005, 0xc010c013, 0xc014c011, 0xc07dc07f, 0xc070c073, 0xc075c077, 0xc04cc04f, 0xc040c043, + 0xc044c041, 0xc05fc045, 0xc050c05d, 0xc1f3c1fc, 0xc1f1c1f0, 0xc1c1c1c0, 0xc1c5c1c7, 0xc1d1c1dc, + 0xc13dc13f, 0xc130c133, 0xc135c137, 0xc100c10c, 0xc107c101, 0xc11cc104, 0xc110c113, 0xc114c117, + 0xc171c115, 0xc14dc175, 0xc153c140, 0xc7ccc154, 0xc7d0c7c1, 0xc733c73c, 0xc734c731, 0xc700c70f, + 0xc705c707, 0xc71cc71f, 0xc711c713, 0xc770c714, 0xc743c74c, 0xc4cfc750, 0xc4c0c4cd, 0xc4dcc4c5, + 0xc43dc4d0, 0xc430c433, 0xc40cc437, 0xc400c403, 0xc404c401, 0xc41fc405, 0xc415c410, 0xc44cc474, + 0xc440c44d, 0xc45cc447, 0xc454c451, 0xc5c1c5f4, 0xc5d1c5d3, 0xc531c533, 0xc50fc534, 0xc500c50d, + 0xc51cc507, 0xc514c511, 0xc54cc570, 0xc545c541, 0xdffddfff, 0xdff5dff7, 0xdfdfdfc0, 0xdfd0dfdd, + 0xdfd5dfd7, 0xdf0cdf30, 0xdf1cdf04, 0xdf7fdf10, 0xdf77df7d, 0xdf40df75, 0xdf5ddf5f, 0xdf57df50, + 0xdcf0df55, 0xdcc3dccc, 0xdcd0dcc4, 0xdc33dc3d, 0xdc00dc34, 0xdc05dc07, 0xdc13dc1c, 0xdc11dc10, + 0xdc4fdc70, 0xdc44dc41, 0xddfcdc50, 0xddf5ddf7, 0xddc0ddcc, 0xdddddddf, 0xddd5ddd7, 0xdd0cdd30, + 0xdd04dd01, 0xdd7cdd10, 0xdd75dd77, 0xdd40dd4c, 0xdd5ddd5f, 0xdd55dd57, 0xd3c3d3f0, 0xd3c4d3c1, + 0xd333d3d0, 0xd331d330, 0xd30dd334, 0xd307d300, 0xd311d305, 0xd34cd370, 0xd344d343, 0xd350d35c, + 0xd0c0d0f4, 0xd0d4d0dc, 0xd030d03f, 0xd00cd037, 0xd000d003, 0xd01dd004, 0xd017d010, 0xd04fd074, + 0xd040d043, 0xd045d047, 0xd053d05c, 0xd054d051, 0xd1cfd1f0, 0xd1c4d1cd, 0xd13cd1d0, 0xd100d134, + 0xd11cd11f, 0xd173d114, 0xd14fd171, 0xd7ffd145, 0xd7f7d7fd, 0xd7c0d7f5, 0xd7ddd7df, 0xd7d5d7d7, + 0xd70cd730, 0xd710d703, 0xd77dd77f, 0xd775d777, 0xd75dd75f, 0xd755d757, 0xd4ccd4f4, 0xd4c4d4c3, + 0xd431d4d0, 0xd40dd434, 0xd41cd400, 0xd411d413, 0xd470d414, 0xd441d44f, 0xd453d444, 0xd5ffd450, + 0xd5f7d5fd, 0xd5dfd5f5, 0xd5d7d5dd, 0xd530d5d5, 0xd501d50c, 0xd510d504, 0xd57dd57f, 0xd575d577, + 0xd55fd540, 0xd557d55d, 0x3ff0d555, 0x3fc13fcc, 0x3f343fd0, 0x3f003f0d, 0x3f053f07, 0x3f133f1c, + 0x3f433f11, 0x3f5c3f44, 0x3cff3f51, 0x3cf33cfc, 0x3cf43cf1, 0x3cc03ccd, 0x3cc73cc1, 0x3cdc3cc5, + 0x3cd43cd1, 0x3c373c30, 0x3c0c3c35, 0x3c003c03, 0x3c043c01, 0x3c103c05, 0x3c153c17, 0x3c733c7c, + 0x3c4f3c71, 0x3c403c4d, 0x3c5c3c5f, 0x3df03c5d, 0x3dc33dcc, 0x3dd03dc1, 0x3d0d3d3c, 0x3d053d00, + 0x3d143d13, 0x3d433d74, 0x33fc3d50, 0x33c433c0, 0x333033d4, 0x33353337, 0x3303330c, 0x33013300, + 0x331d331c, 0x33173310, 0x337c3315, 0x33743371, 0x334d334f, 0x335f3340, 0x3354335c, 0x30fd30fc, + 0x30f530f0, 0x30c330cc, 0x30c130c0, 0x30df30c4, 0x30d530d0, 0x3033303c, 0x30313030, 0x300f3034, + 0x3003300c, 0x30013000, 0x30043007, 0x3013301c, 0x30113010, 0x307d3014, 0x30703073, 0x304c3077, + 0x30403043, 0x30443041, 0x30503045, 0x30553057, 0x31f031fc, 0x31c331f4, 0x31c731c0, 0x31dc31c5, + 0x31d431d3, 0x313d313f, 0x31373130, 0x310c310f, 0x3100310d, 0x31043101, 0x3110311d, 0x317c3117, + 0x31753170, 0x31403143, 0x3153315c, 0x37f03151, 0x37c037cc, 0x37d037c5, 0x3734373d, 0x3700370f, + 0x371c3707, 0x37113713, 0x37703714, 0x3743374c, 0x37443741, 0x34fc3750, 0x34f134f0, 0x34cf34f5, + 0x34c034c3, 0x34dc34c7, 0x34d134d3, 0x3430343f, 0x340c3435, 0x3403340d, 0x34013400, 0x341f3404, + 0x3410341d, 0x34153411, 0x34743471, 0x3440344d, 0x34473441, 0x3453345c, 0x34543451, 0x353335c1, + 0x35343531, 0x35073500, 0x35133505, 0x35433514, 0x0ffc3550, 0x0ff00ff3, 0x0ff40ff1, 0x0fc00fcd, + 0x0fdc0fc5, 0x0fd40fd3, 0x0f300f3f, 0x0f0c0f37, 0x0f000f03, 0x0f040f01, 0x0f170f10, 0x0f740f71, + 0x0f470f40, 0x0f5c0f5f, 0x0f540f51, 0x0cf70cf0, 0x0cf50cf4, 0x0cc30ccc, 0x0cc10cc0, 0x0cc40cc7, + 0x0cd00cdf, 0x0cd70cd1, 0x0c3c0cd5, 0x0c300c33, 0x0c340c31, 0x0c0c0c0f, 0x0c030c0d, 0x0c010c00, + 0x0c040c07, 0x0c1c0c05, 0x0c100c13, 0x0c140c11, 0x0c700c7d, 0x0c430c4c, 0x0c410c40, 0x0c5f0c44, + 0x0c550c50, 0x0df10dfc, 0x0dc00dcd, 0x0ddc0dc5, 0x0d3d0dd3, 0x0d350d30, 0x0d030d0c, 0x0d010d00, + 0x0d1d0d04, 0x0d700d10, 0x0d4d0d4f, 0x0d440d40, 0x0d530d45, 0x03f003f3, 0x03c303cc, 0x03c103c0, + 0x03c403c7, 0x03d003dc, 0x03d503d7, 0x0333033c, 0x03310330, 0x03350334, 0x030c030f, 0x03000303, + 0x03070301, 0x03050304, 0x031d031c, 0x03100313, 0x03140311, 0x0377037f, 0x034c0375, 0x03400343, + 0x03440341, 0x0353035c, 0x03550350, 0x00fd00fc, 0x00f000f3, 0x00f400f1, 0x00cc00cf, 0x00c300cd, + 0x00c100c0, 0x00c500c4, 0x00d300dc, 0x00d100d0, 0x003f00d4, 0x003d003c, 0x00300033, 0x00370031, + 0x000f0034, 0x000d000c, 0x00000003, 0x00070001, 0x00050004, 0x001c001f, 0x00100013, 0x00170011, + 0x00150014, 0x0073007c, 0x00740070, 0x004f0075, 0x0043004c, 0x00410040, 0x00440047, 0x0053005c, + 0x00510050, 0x01ff0054, 0x01fd01fc, 0x01f101f3, 0x01f401f7, 0x01c301cc, 0x01c701c0, 0x01df01c4, + 0x01dd01dc, 0x01d001d3, 0x01d701d1, 0x013c01d4, 0x01310130, 0x01340137, 0x010f0135, 0x010d010c, + 0x01000103, 0x01070101, 0x01050104, 0x0113011c, 0x01140110, 0x0170017d, 0x01770171, 0x01750174, + 0x0140014c, 0x015d0145, 0x01510150, 0x01540157, 0x07f007f3, 0x07f407f1, 0x07c007cf, 0x07dc07c7, + 0x073007d5, 0x07350737, 0x0703070c, 0x07010700, 0x07040707, 0x071d071f, 0x07100713, 0x0774077d, + 0x074d074f, 0x07470740, 0x0754075c, 0x04fd04fc, 0x04f504f0, 0x04c304cc, 0x04c104c0, 0x04d004c4, + 0x0433043c, 0x04310430, 0x040f0434, 0x040d040c, 0x04000403, 0x04070401, 0x04050404, 0x0413041c, + 0x04110410, 0x047c0414, 0x04740470, 0x0443044c, 0x04410440, 0x04440447, 0x05f30450, 0x05c005f7, + 0x05df05c5, 0x05d105d0, 0x053005d4, 0x05340537, 0x0500050c, 0x05070501, 0x051d0504, 0x05170510, + 0x057c0515, 0x054d0575, 0x05410540, 0x05450547, 0x1ff0055c, 0x1fc11fc3, 0x1fd01fc4, 0x1f0f1f33, + 0x1f011f00, 0x1f051f07, 0x1f131f1c, 0x1f141f11, 0x1f411f7c, 0x1cfc1f50, 0x1cf11cf3, 0x1ccd1cf4, + 0x1cdc1cc0, 0x1cd11cdd, 0x1c301cd4, 0x1c0c1c34, 0x1c011c00, 0x1c101c04, 0x1c151c11, 0x1c751c73, + 0x1c401c4d, 0x1c511c5c, 0x1dcc1c54, 0x1dc41dc1, 0x1d3c1d3f, 0x1d001d31, 0x1d071d01, 0x1d701d1f, + 0x1d411d4c, 0x13cc1d50, 0x13c013cd, 0x13c513c1, 0x13d113dc, 0x133f13d4, 0x1330133d, 0x13351337, + 0x1303130c, 0x13011300, 0x13051304, 0x131d131f, 0x13731310, 0x13741370, 0x134d134f, 0x13401343, + 0x13471341, 0x135c1345, 0x13541353, 0x10f710f0, 0x10cc10f5, 0x10c110c0, 0x103310c4, 0x10311030, + 0x100f1034, 0x1003100c, 0x10011000, 0x101c1004, 0x10101013, 0x10141011, 0x10741071, 0x104c1075, + 0x10411040, 0x10451044, 0x1050105d, 0x10571051, 0x11f411fd, 0x11df11c0, 0x11d711d1, 0x113f11d4, + 0x11371130, 0x110c1135, 0x11001103, 0x11071101, 0x111f1105, 0x11171110, 0x117d117f, 0x11751170, + 0x11411143, 0x11441147, 0x1153115f, 0x11551151, 0x17c417c1, 0x173c17d0, 0x1700170d, 0x171c1705, + 0x17701714, 0x1747174c, 0x14fc1751, 0x14cf14f3, 0x14dc14c0, 0x14d114d3, 0x143f14d4, 0x1430143c, + 0x14371431, 0x1403140c, 0x14011400, 0x141f1404, 0x14151410, 0x1473147d, 0x14401475, 0x1453145c, + 0x14541450, 0x15c115cc, 0x153c15c7, 0x15341533, 0x1500150f, 0x15051507, 0x15101513, 0x15711514, + 0x15471543, 0x15511545, 0x7ffd7fff, 0x7ff57ff7, 0x7fdd7fdf, 0x7fd57fd7, 0x7f0f7f30, 0x7f037f0c, + 0x7f047f01, 0x7f7f7f10, 0x7f777f7d, 0x7f407f75, 0x7f5d7f5f, 0x7f557f57, 0x7ccc7cf0, 0x7cc17cc3, + 0x7cd07cc4, 0x7c337c3c, 0x7c0f7c34, 0x7c007c0d, 0x7c077c01, 0x7c137c04, 0x7c147c11, 0x7c747c70, + 0x7c417c43, 0x7c507c44, 0x7dfd7dff, 0x7df57df7, 0x7ddf7dc0, 0x7dd77ddd, 0x7d0c7dd5, 0x7d047d03, + 0x7d7f7d10, 0x7d777d7d, 0x7d407d75, 0x7d5d7d5f, 0x7d557d57, 0x73c473c3, 0x7333733c, 0x7300730c, + 0x731c7305, 0x73147313, 0x73447343, 0x70f470fc, 0x70c070cd, 0x70d170c5, 0x703f70d4, 0x7030703c, + 0x700c7037, 0x70007003, 0x70047001, 0x70107005, 0x70177011, 0x707c7015, 0x70717073, 0x704f7074, + 0x7040704d, 0x70517047, 0x71c171cc, 0x71d071c4, 0x7133713c, 0x71357134, 0x7100710f, 0x71057104, + 0x7111711c, 0x71707115, 0x7145714c, 0x77ff7153, 0x77f777fd, 0x77c077f5, 0x77dd77df, 0x77d577d7, + 0x7730773c, 0x7703770c, 0x77107704, 0x777f7714, 0x7777777d, 0x77407775, 0x775d775f, 0x77557757, + 0x74f174f0, 0x74c374cc, 0x74d074c1, 0x7433743c, 0x74347431, 0x740d740f, 0x74057400, 0x7413741c, + 0x74417470, 0x74507444, 0x75fd75ff, 0x75f575f7, 0x75df75c0, 0x75d775dd, 0x753075d5, 0x7503750c, + 0x757f7501, 0x7577757d, 0x75407575, 0x755d755f, 0x75557557, 0x4fcc4ff0, 0x4fc74fc1, 0x4fd04fc4, + 0x4f314f3c, 0x4f004f34, 0x4f054f07, 0x4f154f14, 0x4f4c4f70, 0x4f414f43, 0x4f504f44, 0x4cf34cfc, + 0x4cf44cf1, 0x4cc04ccf, 0x4cc54cc7, 0x4cd34cdc, 0x4cd44cd1, 0x4c304c3f, 0x4c0c4c0f, 0x4c004c03, + 0x4c044c01, 0x4c104c1d, 0x4c714c73, 0x4c404c4d, 0x4c5c4c47, 0x4c514c53, 0x4df04c54, 0x4dc34dcc, + 0x4dd04dc4, 0x4d314d33, 0x4d0f4d34, 0x4d004d0d, 0x4d114d07, 0x4d704d14, 0x4d414d43, 0x43fc4d54, + 0x43f143f3, 0x43c043cf, 0x43d143c7, 0x4335433f, 0x4303430c, 0x43014300, 0x43044307, 0x431c431f, + 0x4310431d, 0x43714373, 0x4343434d, 0x43474340, 0x4354435c, 0x40f040ff, 0x40f540f7, 0x40cc40cf, + 0x40c040c3, 0x40c440c1, 0x40d040dc, 0x40d540d4, 0x4033403c, 0x40314030, 0x400f4034, 0x400d400c, + 0x40004003, 0x40074001, 0x40054004, 0x4013401c, 0x40114010, 0x407c4014, 0x40774070, 0x404d404c, + 0x40404043, 0x40444041, 0x405f4045, 0x4050405d, 0x40554057, 0x41f341fc, 0x41c041cf, 0x41df41c4, + 0x41d441d1, 0x41374130, 0x410c4134, 0x4100410d, 0x41044101, 0x41174110, 0x4173417d, 0x41754174, + 0x4143414d, 0x41534140, 0x41544151, 0x47c147f0, 0x47d047c4, 0x4731473c, 0x470d470f, 0x47014700, + 0x47134705, 0x47704710, 0x4741474c, 0x47504744, 0x44f144f3, 0x44cf44f4, 0x44c044cd, 0x44c544c7, + 0x44dc44df, 0x44d144d3, 0x443d443f, 0x44374430, 0x440c4435, 0x44004403, 0x44044401, 0x4410441d, + 0x44154411, 0x4473447c, 0x444d444f, 0x44454440, 0x4451445c, 0x45c045f0, 0x453345d0, 0x45344531, + 0x4500450f, 0x451c4507, 0x454c4570, 0x45404543, 0x5fff4541, 0x5ff75ffd, 0x5fc05ff5, 0x5fdd5fdf, + 0x5fd55fd7, 0x5f0c5f30, 0x5f015f03, 0x5f7f5f04, 0x5f775f7d, 0x5f405f75, 0x5f5d5f5f, 0x5f555f57, + 0x5cf45cf0, 0x5cc35ccc, 0x5cc45cc1, 0x5c315cc5, 0x5c0c5c34, 0x5c075c00, 0x5c1c5c05, 0x5c705c13, + 0x5c4d5c4f, 0x5c445c41, 0x5df75dfd, 0x5dcf5df5, 0x5ddd5dc4, 0x5dd55dd7, 0x5d0c5d30, 0x5d045d01, + 0x5d7f5d10, 0x5d775d7d, 0x5d405d75, 0x5d5d5d5f, 0x5d555d57, 0x53d053c4, 0x5333533c, 0x5303530f, + 0x53075300, 0x531c5305, 0x53115310, 0x53145317, 0x50f15370, 0x50cf50f4, 0x50c050cd, 0x50d150c7, + 0x503d50d4, 0x500c5030, 0x50005003, 0x50045001, 0x50155010, 0x5073507c, 0x50715070, 0x504d5074, + 0x50475040, 0x51cc51f0, 0x51c551c1, 0x51d051dc, 0x51315133, 0x510d5135, 0x51015100, 0x511f5107, + 0x5171511d, 0x5140514f, 0x51445141, 0x5153515c, 0x57ff5151, 0x57f757fd, 0x57df57f5, 0x57d757dd, + 0x570c57d5, 0x57015703, 0x577f5704, 0x5777577d, 0x57405775, 0x575d575f, 0x57555757, 0x54c354f0, + 0x54dc54c4, 0x543c54d0, 0x5400540f, 0x541c5405, 0x54145411, 0x5441544f, 0x55fd55ff, 0x55f555f7, + 0x55dd55df, 0x55d555d7, 0x5503550c, 0x557f5501, 0x5577557d, 0x55405575, 0x555d555f, 0x55555557 +); + +#enddecl(IQ1_GRID) + +#decl(IQ4_GRID) + +const kvalues_iq4nl = array( + -127, -104, -83, -65, -49, -35, -22, -10, 1, 13, 25, 38, 53, 69, 89, 113 +); + +#enddecl(IQ4_GRID) diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/embed_wgsl.py b/ggml/src/ggml-webgpu/wgsl-shaders/embed_wgsl.py index cc8def7f13..d9dfd7d6f4 100755 --- a/ggml/src/ggml-webgpu/wgsl-shaders/embed_wgsl.py +++ b/ggml/src/ggml-webgpu/wgsl-shaders/embed_wgsl.py @@ -27,6 +27,26 @@ def replace_placeholders(shader_text, replacements): return shader_text +def expand_includes(shader, input_dir): + """ + Replace #include "file" lines in the text with the contents of that file. + Searches for files relative to input_dir. + """ + include_pattern = re.compile(r'^\s*#include\s+"([^"]+)"\s*$', re.MULTILINE) + + def replacer(match): + fname = match.group(1) + file_path = os.path.join(input_dir, fname) + if not os.path.exists(file_path): + raise FileNotFoundError(f"Included file not found: {file_path}") + with open(file_path, "r", encoding="utf-8") as f: + included_code = f.read() + # Recursively expand includes inside the included file + return expand_includes(included_code, input_dir) + + return include_pattern.sub(replacer, shader) + + def write_shader(shader_name, shader_code, output_dir, outfile): if output_dir: wgsl_filename = os.path.join(output_dir, f"{shader_name}.wgsl") @@ -35,8 +55,9 @@ def write_shader(shader_name, shader_code, output_dir, outfile): outfile.write(f'const char* wgsl_{shader_name} = R"({shader_code})";\n\n') -def generate_variants(shader_path, output_dir, outfile): - shader_base_name = shader_path.split("/")[-1].split(".")[0] +def generate_variants(fname, input_dir, output_dir, outfile): + shader_path = os.path.join(input_dir, fname) + shader_base_name = fname.split(".")[0] with open(shader_path, "r", encoding="utf-8") as f: text = f.read() @@ -46,11 +67,21 @@ def generate_variants(shader_path, output_dir, outfile): except ValueError: write_shader(shader_base_name, text, output_dir, outfile) else: - decls_map = parse_decls(extract_block(text, "DECLS")) - shader_template = extract_block(text, "SHADER") + try: + decls_map = parse_decls(extract_block(text, "DECLS")) + except ValueError: + decls_map = {} + with open(os.path.join(input_dir, "common_decls.tmpl"), "r", encoding="utf-8") as f: + common_decls = f.read() + decls_map.update(parse_decls(common_decls)) + + shader_template = extract_block(text, "SHADER") for variant in variants: - decls = variant["DECLS"] + if "DECLS" in variant: + decls = variant["DECLS"] + else: + decls = [] decls_code = "" for key in decls: if key not in decls_map: @@ -59,8 +90,16 @@ def generate_variants(shader_path, output_dir, outfile): shader_variant = replace_placeholders(shader_template, variant["REPLS"]) final_shader = re.sub(r'\bDECLS\b', decls_code, shader_variant) + final_shader = expand_includes(final_shader, input_dir) - output_name = f"{shader_base_name}_" + "_".join([variant["REPLS"]["SRC0_TYPE"], variant["REPLS"]["SRC1_TYPE"]]) + if "SRC0_TYPE" in variant["REPLS"] and "SRC1_TYPE" in variant["REPLS"]: + output_name = f"{shader_base_name}_" + "_".join([variant["REPLS"]["SRC0_TYPE"], variant["REPLS"]["SRC1_TYPE"]]) + elif "TYPE_SUFFIX" in variant["REPLS"]: + output_name = f"{shader_base_name}_" + variant["REPLS"]["TYPE_SUFFIX"] + elif "TYPE" in variant["REPLS"]: + output_name = f"{shader_base_name}_" + variant["REPLS"]["TYPE"] + else: + output_name = shader_base_name write_shader(output_name, final_shader, output_dir, outfile) @@ -78,7 +117,7 @@ def main(): out.write("// Auto-generated shader embedding\n\n") for fname in sorted(os.listdir(args.input_dir)): if fname.endswith(".wgsl"): - generate_variants(os.path.join(args.input_dir, fname), args.output_dir, out) + generate_variants(fname, args.input_dir, args.output_dir, out) if __name__ == "__main__": diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/get_rows.tmpl.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/get_rows.tmpl.wgsl new file mode 100644 index 0000000000..e3fe311b26 --- /dev/null +++ b/ggml/src/ggml-webgpu/wgsl-shaders/get_rows.tmpl.wgsl @@ -0,0 +1,874 @@ +#define(VARIANTS) + +[ + { + "REPLS": { + "TYPE" : "vec4", + "TYPE_SUFFIX": "f32_vec", + "DST_TYPE": "vec4", + "BLOCK_SIZE": 4 + }, + "DECLS": ["F32_VEC"] + }, + { + "REPLS": { + "TYPE" : "f32", + "DST_TYPE": "f32", + "BLOCK_SIZE": 1 + }, + "DECLS": ["F32"] + }, + { + "REPLS": { + "TYPE" : "f16", + "DST_TYPE": "f32", + "BLOCK_SIZE": 1 + }, + "DECLS": ["F16"] + }, + { + "REPLS": { + "TYPE" : "i32", + "DST_TYPE": "i32", + "BLOCK_SIZE": 1 + }, + "DECLS": ["I32"] + }, + { + "REPLS": { + "TYPE" : "q4_0", + "DST_TYPE": "f32", + "BLOCK_SIZE": 32 + }, + "DECLS": ["BYTE_HELPERS", "Q4_0_T", "Q4_0"] + }, + { + "REPLS": { + "TYPE" : "q4_1", + "DST_TYPE": "f32", + "BLOCK_SIZE": 32 + }, + "DECLS": ["BYTE_HELPERS", "Q4_1_T", "Q4_1"] + }, + { + "REPLS": { + "TYPE" : "q5_0", + "DST_TYPE": "f32", + "BLOCK_SIZE": 32 + }, + "DECLS": ["BYTE_HELPERS", "Q5_0_T", "Q5_0"] + }, + { + "REPLS": { + "TYPE" : "q5_1", + "DST_TYPE": "f32", + "BLOCK_SIZE": 32 + }, + "DECLS": ["BYTE_HELPERS", "Q5_1_T", "Q5_1"] + }, + { + "REPLS": { + "TYPE" : "q8_0", + "DST_TYPE": "f32", + "BLOCK_SIZE": 32 + }, + "DECLS": ["BYTE_HELPERS", "Q8_0_T", "Q8_0"] + }, + { + "REPLS": { + "TYPE" : "q2_k", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["BYTE_HELPERS", "Q2_K_T", "Q2_K"] + }, + { + "REPLS": { + "TYPE" : "q3_k", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["BYTE_HELPERS", "Q3_K_T", "Q3_K"] + }, + { + "REPLS": { + "TYPE" : "q4_k", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["Q45_K_SCALE_MIN", "BYTE_HELPERS", "Q4_K_T", "Q4_K"] + }, + { + "REPLS": { + "TYPE" : "q5_k", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["Q45_K_SCALE_MIN", "BYTE_HELPERS", "Q5_K_T", "Q5_K"] + }, + { + "REPLS": { + "TYPE" : "q6_k", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["BYTE_HELPERS", "Q6_K_T", "Q6_K"] + }, + { + "REPLS": { + "TYPE" : "iq2_xxs", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ2_XXS_GRID", "IQ2_XXS_T", "IQ2_XXS"] + }, + { + "REPLS": { + "TYPE" : "iq2_xs", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ2_XS_GRID", "IQ2_XS_T", "IQ2_XS"] + }, + { + "REPLS": { + "TYPE": "iq2_s", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ2_S_GRID", "IQ2_S_T", "IQ2_S"] + }, + { + "REPLS": { + "TYPE": "iq3_xxs", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ3_XSS_GRID", "IQ3_XSS_T", "IQ3_XSS"] + }, + { + "REPLS": { + "TYPE": "iq3_s", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ3_S_GRID", "IQ3_S_T", "IQ3_S"] + }, + { + "REPLS": { + "TYPE": "iq1_s", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["BYTE_HELPERS", "IQ1_GRID", "IQ1_S_T", "IQ1_S"] + }, + { + "REPLS": { + "TYPE": "iq1_m", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256 + }, + "DECLS": ["BYTE_HELPERS", "IQ1_GRID", "IQ1_M_T", "IQ1_M"] + }, + { + "REPLS": { + "TYPE": "iq4_nl", + "DST_TYPE": "f32", + "BLOCK_SIZE": 32, + }, + "DECLS": ["BYTE_HELPERS", "IQ4_GRID", "IQ4_NL_T", "IQ4_NL"] + }, + { + "REPLS": { + "TYPE": "iq4_xs", + "DST_TYPE": "f32", + "BLOCK_SIZE": 256, + }, + "DECLS": ["BYTE_HELPERS", "IQ4_GRID", "IQ4_XS_T", "IQ4_XS"] + } +] + +#end(VARIANTS) + +#define(DECLS) + +#decl(F32_VEC) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + dst[(dst_base / 4) + offset] = src[(src_base / 4) + offset]; +} +#enddecl(F32_VEC) + +#decl(F32) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + dst[dst_base + offset] = src[src_base + offset]; +} +#enddecl(F32) + +#decl(F16) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + dst[dst_base + offset] = f32(src[src_base + offset]); +} +#enddecl(F16) + +#decl(I32) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + dst[dst_base + offset] = src[src_base + offset]; +} +#enddecl(I32) + +#decl(Q4_0) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block_q4_0 = src[src_base + offset]; + let d = f32(block_q4_0.d); + for (var j: u32 = 0; j < 4; j++) { + let q_packed = bitcast(vec2(block_q4_0.qs[2 * j], block_q4_0.qs[2 * j + 1])); + for (var k: u32 = 0; k < 4; k++) { + let q_byte = get_byte(q_packed, k); + let q_hi = (f32((q_byte >> 4) & 0xF) - 8.0f) * d; + let q_lo = (f32(q_byte & 0xF) - 8.0f) * d; + let dst_offset = dst_base + offset * 32 + j * 4 + k; + dst[dst_offset] = q_lo; + dst[dst_offset + 16] = q_hi; + } + } +} +#enddecl(Q4_0) + +#decl(Q4_1) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block_q4_1 = src[src_base + offset]; + let d = f32(block_q4_1.d); + let m = f32(block_q4_1.m); + for (var j: u32 = 0; j < 4; j++) { + let q_packed = block_q4_1.qs[j]; + for (var k: u32 = 0; k < 4; k++) { + let q_byte = get_byte(q_packed, k); + let q_hi = f32((q_byte >> 4) & 0xF) * d + m; + let q_lo = f32(q_byte & 0xF) * d + m; + let dst_offset = dst_base + offset * 32 + j * 4 + k; + dst[dst_offset] = q_lo; + dst[dst_offset + 16] = q_hi; + } + } +} +#enddecl(Q4_1) + +#decl(Q5_0) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block_q5_0 = src[src_base + offset]; + let d = f32(block_q5_0.d); + let qh_packed = bitcast(vec2(block_q5_0.qh[0], block_q5_0.qh[1])); + for (var j: u32 = 0; j < 4; j++) { + let q_packed = bitcast(vec2(block_q5_0.qs[2 * j], block_q5_0.qs[2 * j + 1])); + for (var k: u32 = 0; k < 4; k++) { + let q_byte = get_byte(q_packed, k); + let qh_hi = (qh_packed >> (j * 4 + k + 12)) & 0x10; + let q_hi = (f32(((q_byte >> 4) & 0xF) | qh_hi) - 16.0) * d; + let qh_lo = ((qh_packed >> (j * 4 + k)) << 4) & 0x10; + let q_lo = (f32((q_byte & 0xF) | qh_lo) - 16.0) * d; + let dst_offset = dst_base + offset * 32 + j * 4 + k; + dst[dst_offset] = q_lo; + dst[dst_offset + 16] = q_hi; + } + } +} + +#enddecl(Q5_0) + +#decl(Q5_1) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block_q5_1 = src[src_base + offset]; + let d = f32(block_q5_1.d); + let m = f32(block_q5_1.m); + for (var j: u32 = 0; j < 4; j++) { + let q_packed = block_q5_1.qs[j]; + for (var k: u32 = 0; k < 4; k++) { + let q_byte = get_byte(q_packed, k); + let qh_hi = (block_q5_1.qh >> (j * 4 + k + 12)) & 0x10; + let q_hi = f32(((q_byte >> 4) & 0xF) | qh_hi) * d + m; + let qh_lo = ((block_q5_1.qh >> (j * 4 + k)) << 4) & 0x10; + let q_lo = f32((q_byte & 0xF) | qh_lo) * d + m; + let dst_offset = dst_base + offset * 32 + j * 4 + k; + dst[dst_offset] = q_lo; + dst[dst_offset + 16] = q_hi; + } + } +} +#enddecl(Q5_1) + +#decl(Q8_0) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block_q8_0 = src[src_base + offset]; + let d = f32(block_q8_0.d); + for (var j: u32 = 0; j < 8; j++) { + let q_packed = bitcast(vec2(block_q8_0.qs[2 * j], block_q8_0.qs[2 * j + 1])); + for (var k: u32 = 0; k < 4; k++) { + let q_byte = get_byte_i32(q_packed, k); + let q_val = f32(q_byte) * d; + let dst_offset = dst_base + offset * 32 + j * 4 + k; + dst[dst_offset] = q_val; + } + } +} +#enddecl(Q8_0) + +#decl(Q2_K) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + let m = f32(block.dmin); + var dst_i = dst_base + offset * 256; + var is: u32 = 0; + // 2 halves of the block (128 elements each) + for (var q_b_idx: u32 = 0; q_b_idx < 64; q_b_idx += 32) { + // 4 groups (each group has 2 blocks of 16 elements) + for (var shift: u32 = 0; shift < 8; shift += 2) { + // 2 blocks + for (var k: u32 = 0; k < 32; k += 16) { + let sc = get_byte(block.scales[is / 4], is % 4); + is++; + let dl = d * f32(sc & 0xF); + let ml = m * f32(sc >> 4); + for (var l: u32 = 0u; l < 16; l++) { + let q_idx = q_b_idx + k + l; + let q_byte = get_byte(block.qs[q_idx / 4], q_idx % 4); + let qs_val = (q_byte >> shift) & 3; + dst[dst_i] = (f32(qs_val) * dl - ml); + dst_i++; + } + } + } + } +} +#enddecl(Q2_K) + +#decl(Q3_K) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + + // extract 6-bit scales, which consist of 4-bits from first 8 bytes of scale, + // and 2-bits from the last 4 bytes + let kmask1: u32 = 0x03030303; + let kmask2: u32 = 0x0f0f0f0f; + var scale_vals: array; + for (var i: u32 = 0; i < 4; i++) { + scale_vals[i] = bitcast(vec2(block.scales[2 * i], block.scales[2 * i + 1])); + } + var tmp: u32 = scale_vals[2]; + scale_vals[2] = ((scale_vals[0] >> 4) & kmask2) | (((tmp >> 4) & kmask1) << 4); + scale_vals[3] = ((scale_vals[1] >> 4) & kmask2) | (((tmp >> 6) & kmask1) << 4); + scale_vals[0] = (scale_vals[0] & kmask2) | ((tmp & kmask1) << 4); + scale_vals[1] = (scale_vals[1] & kmask2) | (((tmp >> 2) & kmask1) << 4); + + // convert arrays of f16 -> u32 + var hmask_vals: array; + for (var i: u32 = 0; i < 8; i++) { + hmask_vals[i] = bitcast(vec2(block.hmask[2 * i], block.hmask[2 * i + 1])); + } + var qs_vals: array; + for (var i: u32 = 0; i < 16; i++) { + qs_vals[i] = bitcast(vec2(block.qs[2 * i], block.qs[2 * i + 1])); + } + + var dst_i = dst_base + offset * 256; + var is: u32 = 0; + var m: u32 = 1; + // 2 halves of the block (128 elements each) + for (var q_b_idx: u32 = 0; q_b_idx < 64; q_b_idx += 32) { + // 4 groups (each group has 2 blocks of 16 elements) + for (var shift: u32 = 0; shift < 8; shift += 2) { + // 2 blocks + for (var k: u32 = 0; k < 32; k += 16) { + let sc = get_byte(scale_vals[is / 4], is % 4); + is++; + let dl = d * (f32(sc) - 32.0); + for (var l: u32 = 0u; l < 16u; l++) { + let q_idx = q_b_idx + k + l; + let hm_idx = k + l; + let q_byte = get_byte(qs_vals[q_idx / 4], q_idx % 4); + let hmask_byte = get_byte(hmask_vals[hm_idx / 4], hm_idx % 4); + let hm = select(4.0, 0.0, (hmask_byte & m) != 0); + let qs_val = (q_byte >> shift) & 3; + dst[dst_i] = (f32(qs_val) - hm) * dl; + dst_i++; + } + } + m <<= 1; + } + } +} +#enddecl(Q3_K) + +#decl(Q4_K) +// 8 blocks of 32 elements each +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + let m = f32(block.dmin); + var dst_i = dst_base + offset * 256; + var is: u32 = 0; + // 2 blocks each iteration + for (var q_b_idx: u32 = 0; q_b_idx < 128; q_b_idx += 32) { + for (var shift: u32 = 0; shift < 8; shift += 4) { + let scale_min = get_scale_min(is, block.scales); + is++; + let dl = d * scale_min.x; + let ml = m * scale_min.y; + for (var l: u32 = 0; l < 32; l++) { + let q_idx = q_b_idx + l; + let q_byte = get_byte(block.qs[q_idx / 4], q_idx % 4); + let qs_val = (q_byte >> shift) & 0xF; + dst[dst_i] = (f32(qs_val) * dl - ml); + dst_i++; + } + } + } +} +#enddecl(Q4_K) + +#decl(Q5_K) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + let m = f32(block.dmin); + var dst_i = dst_base + offset * 256; + var is: u32 = 0; + var u: u32 = 1; + // 2 blocks each iteration + for (var q_b_idx: u32 = 0; q_b_idx < 128; q_b_idx += 32) { + for (var shift: u32 = 0; shift < 8; shift += 4) { + let scale_min = get_scale_min(is, block.scales); + is++; + let dl = d * scale_min.x; + let ml = m * scale_min.y; + for (var l: u32 = 0; l < 32; l++) { + let q_idx = q_b_idx + l; + let q_byte = get_byte(block.qs[q_idx / 4], q_idx % 4); + let qh_byte = get_byte(block.qh[l / 4], l % 4); + let qs_val = (q_byte >> shift) & 0xF; + let qh_val = select(0.0, 16.0, (qh_byte & u) != 0); + dst[dst_i] = (f32(qs_val) + qh_val) * dl - ml; + dst_i++; + } + u <<= 1; + } + } +} +#enddecl(Q5_K) + +#decl(Q6_K) +// 16 blocks of 16 elements each +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + + // convert arrays of f16 -> u32 + var ql_vals: array; + for (var i: u32 = 0; i < 32; i++) { + ql_vals[i] = bitcast(vec2(block.ql[2 * i], block.ql[2 * i + 1])); + } + var qh_vals: array; + for (var i: u32 = 0; i < 16; i++) { + qh_vals[i] = bitcast(vec2(block.qh[2 * i], block.qh[2 * i + 1])); + } + var scale_vals: array; + for (var i: u32 = 0; i < 4; i++) { + scale_vals[i] = bitcast(vec2(block.scales[2 * i], block.scales[2 * i + 1])); + } + + var dst_i = dst_base + offset * 256; + var qh_b_idx: u32 = 0; + var sc_b_idx: u32 = 0; + for (var ql_b_idx: u32 = 0; ql_b_idx < 128; ql_b_idx += 64) { + for (var l: u32 = 0; l < 32; l++) { + let ql13_b = get_byte(ql_vals[(ql_b_idx + l) / 4], (ql_b_idx + l) % 4); + let ql24_b = get_byte(ql_vals[(ql_b_idx + l + 32) / 4], (ql_b_idx + l + 32) % 4); + let qh_b = get_byte(qh_vals[(qh_b_idx + l) / 4], (qh_b_idx + l) % 4); + + let q1 = f32((ql13_b & 0xF) | ((qh_b & 3) << 4)) - 32.0; + let q2 = f32((ql24_b & 0xF) | (((qh_b >> 2) & 3) << 4)) - 32.0; + let q3 = f32((ql13_b >> 4) | (((qh_b >> 4) & 3) << 4)) - 32.0; + let q4 = f32((ql24_b >> 4) | (((qh_b >> 6) & 3) << 4)) - 32.0; + + let is = l/16; + let is1 = sc_b_idx + is; + let sc1 = get_byte_i32(scale_vals[is1 / 4], is1 % 4); + let is2 = sc_b_idx + is + 2; + let sc2 = get_byte_i32(scale_vals[is2 / 4], is2 % 4); + let is3 = sc_b_idx + is + 4; + let sc3 = get_byte_i32(scale_vals[is3 / 4], is3 % 4); + let is4 = sc_b_idx + is + 6; + let sc4 = get_byte_i32(scale_vals[is4 / 4], is4 % 4); + + dst[dst_i + l] = (q1 * f32(sc1)) * d; + dst[dst_i + l + 32] = (q2 * f32(sc2)) * d; + dst[dst_i + l + 64] = (q3 * f32(sc3)) * d; + dst[dst_i + l + 96] = (q4 * f32(sc4)) * d; + } + dst_i += 128; + qh_b_idx += 32; + sc_b_idx += 8; + } +} + +#enddecl(Q6_K) + +#decl(IQ2_XXS) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + var dst_i = dst_base + offset * 256; + for (var ib: u32 = 0; ib < 32; ib += 4) { + let aux0 = bitcast(vec2(block.qs[ib], block.qs[ib + 1])); + let aux1 = bitcast(vec2(block.qs[ib + 2], block.qs[ib + 3])); + let db = d * (0.5 + f32(aux1 >> 28)) * 0.25; + for (var l: u32 = 0; l < 4; l++) { + let ig = get_byte(aux0, l) * 8; + let is = (aux1 >> (7 * l)) & 127; + let signs = get_byte(ksigns_iq2xs[is / 4], is % 4); + for (var j: u32 = 0; j < 8; j++) { + let g = get_byte(iq2xxs_grid[(ig + j) / 4], (ig + j) % 4); + let m = select(1.0, -1.0, (get_byte(kmask_iq2xs[j / 4], j % 4) & signs) != 0); + dst[dst_i] = db * f32(g) * m; + dst_i++; + } + } + } +} +#enddecl(IQ2_XXS) + +#decl(IQ2_XS) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + var dst_i = dst_base + offset * 256; + var scale_vals = array( + bitcast(vec2(block.scales[0], block.scales[1])), + bitcast(vec2(block.scales[2], block.scales[3])) + ); + for (var ib: u32 = 0; ib < 32; ib += 4) { + let s = get_byte(scale_vals[ib / 16], (ib % 16) / 4); + let db = array( + d * (0.5 + f32(s & 0xF)) * 0.25, + d * (0.5 + f32(s >> 4)) * 0.25 + ); + for (var l: u32 = 0; l < 4; l++) { + let qs_val = bitcast(vec2(block.qs[ib + l], 0.0)); + let ig = (qs_val & 511) * 8; + let is = qs_val >> 9; + let signs = get_byte(ksigns_iq2xs[is / 4], is % 4); + let dl = db[l/2]; + for (var j: u32 = 0; j < 8; j++) { + let g = get_byte(iq2xs_grid[(ig + j) / 4], (ig + j) % 4); + let m = select(1.0, -1.0, (get_byte(kmask_iq2xs[j / 4], j % 4) & signs) != 0); + dst[dst_i] = dl * f32(g) * m; + dst_i++; + } + } + } +} +#enddecl(IQ2_XS) + +#decl(IQ2_S) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + var dst_i = dst_base + offset * 256; + var qs_vals : array; + for (var i: u32 = 0; i < 16; i++) { + qs_vals[i] = bitcast(vec2(block.qs[i * 2], block.qs[i * 2 + 1])); + } + var qh_vals = array( + bitcast(vec2(block.qh[0], block.qh[1])), + bitcast(vec2(block.qh[2], block.qh[3])) + ); + var scale_vals = array( + bitcast(vec2(block.scales[0], block.scales[1])), + bitcast(vec2(block.scales[2], block.scales[3])) + ); + for (var ib: u32 = 0; ib < 8; ib ++) { + let s = get_byte(scale_vals[ib / 4], ib % 4); + let db = array( + d * (0.5 + f32(s & 0xF)) * 0.25, + d * (0.5 + f32(s >> 4)) * 0.25 + ); + let qs_w = qs_vals[ib]; + for (var l: u32 = 0; l < 4; l++) { + let qh_b = (get_byte(qh_vals[ib / 4], ib % 4) << (8 - 2 * l)) & 0x300; + let ig = (get_byte(qs_w, l) | qh_b) * 8; + let signs = get_byte(qs_vals[ib + 8], l); + let dl = db[l/2]; + for (var j: u32 = 0; j < 8; j++) { + let g = get_byte(iq2s_grid[(ig + j) / 4], (ig + j) % 4); + let m = select(1.0, -1.0, (get_byte(kmask_iq2xs[j / 4], j % 4) & signs) != 0); + dst[dst_i] = dl * f32(g) * m; + dst_i++; + } + } + } +} + +#enddecl(IQ2_S) + +#decl(IQ3_XSS) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + var dst_i = dst_base + offset * 256; + for (var ib: u32 = 0; ib < 16; ib += 2) { + let sc_sign = bitcast(vec2(block.qs[ib + 32], block.qs[ib + 33])); + let db = d * (0.5 + f32(sc_sign >> 28)) * 0.5; + for (var l: u32 = 0; l < 4; l++) { + let is = (sc_sign >> (7 * l)) & 127; + let signs = get_byte(ksigns_iq2xs[is / 4], is % 4); + let ig_val = bitcast(vec2(block.qs[ib * 2 + l], 0.0)); + let ig1 = get_byte(ig_val, 0); + let ig2 = get_byte(ig_val, 1); + for (var j: u32 = 0; j < 4; j++) { + let g1 = get_byte(iq3xxs_grid[ig1], j); + let g2 = get_byte(iq3xxs_grid[ig2], j); + let m1 = select(1.0, -1.0, (get_byte(kmask_iq2xs[0], j) & signs) != 0); + let m2 = select(1.0, -1.0, (get_byte(kmask_iq2xs[1], j) & signs) != 0); + dst[dst_i] = db * f32(g1) * m1; + dst[dst_i + 4] = db * f32(g2) * m2; + dst_i++; + } + dst_i += 4; + } + } +} +#enddecl(IQ3_XSS) + +#decl(IQ3_S) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + var dst_i = dst_base + offset * 256; + var qh_vals = array( + bitcast(vec2(block.qh[0], block.qh[1])), + bitcast(vec2(block.qh[2], block.qh[3])) + ); + var sign_vals: array; + for (var i: u32 = 0; i < 8; i++) { + sign_vals[i] = bitcast(vec2(block.signs[i * 2], block.signs[i * 2 + 1])); + } + var scale_vals = bitcast(vec2(block.scales[0], block.scales[1])); + for (var ib: u32 = 0; ib < 4; ib++) { + let s = get_byte(scale_vals, ib); + let db = array( + d * (1.0 + 2.0 * f32(s & 0xF)), + d * (1.0 + 2.0 * f32(s >> 4)) + ); + for (var k: u32 = 0; k < 2; k++) { + let dl = db[k]; + let qh_byte = get_byte(qh_vals[ib / 2], (ib % 2) * 2 + k); + let sign_w = sign_vals[ib * 2 + k]; + for (var l: u32 = 0; l < 4; l++) { + let signs = get_byte(sign_w, l); + let ig_val = bitcast(vec2(block.qs[ib * 8 + k * 4 + l], 0.0)); + let ig1 = get_byte(ig_val, 0) | ((qh_byte << ((8 - (2 * l)))) & 256); + let ig2 = get_byte(ig_val, 1) | ((qh_byte << ((7 - (2 * l)))) & 256); + for (var j: u32 = 0; j < 4; j++) { + let g1 = get_byte(iq3s_grid[ig1], j); + let g2 = get_byte(iq3s_grid[ig2], j); + let m1 = select(1.0, -1.0, (get_byte(kmask_iq2xs[0], j) & signs) != 0); + let m2 = select(1.0, -1.0, (get_byte(kmask_iq2xs[1], j) & signs) != 0); + dst[dst_i] = dl * f32(g1) * m1; + dst[dst_i + 4] = dl * f32(g2) * m2; + dst_i++; + } + dst_i += 4; + } + } + } +} +#enddecl(IQ3_S) + +#decl(IQ1_S) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + var dst_i = dst_base + offset * 256; + for (var ib: u32 = 0; ib < 8; ib++) { + let qh = bitcast(vec2(block.qh[ib], 0.0)); + let dl = d * (2 * f32((qh >> 12) & 7) + 1); + let delta = select(IQ1_DELTA, -IQ1_DELTA, (qh & 0x8000) != 0); + let qs_w = bitcast(vec2(block.qs[ib * 2], block.qs[ib * 2 + 1])); + for (var l: u32 = 0; l < 4; l++) { + let ig = (get_byte(qs_w, l) | (((qh >> (3 * l)) & 7) << 8)) * 8; + for (var j: u32 = 0; j < 8; j++) { + let gw = iq1_grid[(ig + j) / 16]; + let g = (gw >> (((ig + j) % 16) * 2)) & 3; + let gs = bitcast(g << 30) >> 30; + dst[dst_i] = dl * (f32(gs) + delta); + dst_i++; + } + } + } +} + +#enddecl(IQ1_S) + +#decl(IQ1_M) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + + let scale = ((block.scales[0] >> 12) & 0xF) | ((block.scales[0] >> 24) & 0x00F0) | ((block.scales[1] >> 4) & 0x0F00) | ((block.scales[1] >> 16) & 0xF000); + let d = f32(bitcast>(scale).x); + var dst_i = dst_base + offset * 256; + for (var ib: u32 = 0; ib < 8; ib++) { + let sw = (block.scales[ib / 4] >> (16 * ((ib / 2) % 2))) & 0xFFFF; + let s1 : u32 = (sw >> (6 * (ib % 2))) & 0x7; + let s2 : u32 = (sw >> (6 * (ib % 2) + 3)) & 0x7; + var dl = array( + d * f32(2 * s1 + 1), + d * f32(2 * s2 + 1) + ); + + let qh = block.qh[ib / 2] >> (16 * (ib % 2)); + var idx = array( + get_byte(block.qs[ib], 0) | ((qh << 8) & 0x700), + get_byte(block.qs[ib], 1) | ((qh << 4) & 0x700), + get_byte(block.qs[ib], 2) | ((qh) & 0x700), + get_byte(block.qs[ib], 3) | ((qh >> 4) & 0x700) + ); + var delta = array( + select(IQ1_DELTA, -IQ1_DELTA, (qh & 0x08) != 0), + select(IQ1_DELTA, -IQ1_DELTA, (qh & 0x80) != 0), + select(IQ1_DELTA, -IQ1_DELTA, ((qh >> 8) & 0x08) != 0), + select(IQ1_DELTA, -IQ1_DELTA, ((qh >> 8) & 0x80) != 0) + ); + for (var l: u32 = 0; l < 4; l++) { + let ig = idx[l] * 8; + for (var j: u32 = 0; j < 8; j++) { + let gw = iq1_grid[(ig + j) / 16]; + let g = (gw >> (((ig + j) % 16) * 2)) & 3; + let gs = bitcast(g << 30) >> 30; + dst[dst_i] = dl[l/2] * (f32(gs) + delta[l]); + dst_i++; + } + } + } +} + +#enddecl(IQ1_M) + +#decl(IQ4_NL) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + var dst_i = dst_base + offset * 32; + var qs: array; + for (var i: u32 = 0; i < 4; i++) { + qs[i] = bitcast(vec2(block.qs[i * 2], block.qs[i * 2 + 1])); + } + for (var j: u32 = 0; j < 16; j++) { + let qsb = get_byte(qs[j / 4], j % 4); + dst[dst_i] = d * f32(kvalues_iq4nl[qsb & 0xF]); + dst[dst_i + 16] = d * f32(kvalues_iq4nl[qsb >> 4]); + dst_i++; + } +} +#enddecl(IQ4_NL) + +#decl(IQ4_XS) +fn copy_elements(src_base: u32, dst_base: u32, offset: u32) { + let block = src[src_base + offset]; + let d = f32(block.d); + let scales_h = bitcast(vec2(block.scales_h, 0.0)); + var dst_i = dst_base + offset * 256; + for (var ib: u32 = 0; ib < 8; ib++) { + let ls = ((get_byte(block.scales_l, ib / 2) >> (4 * (ib % 2))) & 0xF) | (((scales_h >> (2 * ib)) & 3) << 4); + let dl = d * (f32(ls) - 32.0); + for (var j: u32 = 0; j < 16; j++) { + let iqs = ib * 16 + j; + let qsb = get_byte(block.qs[iqs / 4], iqs % 4); + dst[dst_i] = dl * f32(kvalues_iq4nl[qsb & 0xF]); + dst[dst_i + 16] = dl * f32(kvalues_iq4nl[qsb >> 4]); + dst_i++; + } + dst_i += 16; + } +} +#enddecl(IQ4_XS) + +#end(DECLS) + +#define(SHADER) + +enable f16; + +DECLS + +@group(0) @binding(0) +var src: array<{{TYPE}}>; + +@group(0) @binding(1) +var idx: array; + +@group(0) @binding(2) +var dst: array<{{DST_TYPE}}>; + +struct Params { + offset_src: u32, // in elements + offset_idx: u32, // in elements + offset_dst: u32, // in elements + + // Strides (in elements) + stride_src1: u32, + stride_src2: u32, + stride_src3: u32, + + stride_idx0: u32, + stride_idx1: u32, + stride_idx2: u32, + + stride_dst1: u32, + stride_dst2: u32, + stride_dst3: u32, + + // Shape of dst + ne0: u32, + n_rows: u32, + ne2: u32, + ne3: u32, + + // Shape of idx + idx1: u32, + idx2: u32, +}; + +@group(0) @binding(3) +var params: Params; + +override wg_size: u32; +@compute @workgroup_size(wg_size) +fn main(@builtin(global_invocation_id) gid: vec3) { + if (gid.x >= params.n_rows * params.ne2 * params.ne3) { + return; + } + var i = gid.x; + let i_dst3 = i / (params.ne2 * params.n_rows); + + i = i % (params.ne2 * params.n_rows); + let i_dst2 = i / params.n_rows; + let i_dst1 = i % params.n_rows; + + let i_idx2 = i_dst3 % params.idx2; + let i_idx1 = i_dst2 % params.idx1; + let i_idx0 = i_dst1; + + let i_idx = params.offset_idx + i_idx0 * params.stride_idx0 + i_idx1 * params.stride_idx1 + i_idx2 * params.stride_idx2; + + let idx_val = u32(idx[i_idx]); + + let i_src_row = params.offset_src + idx_val * params.stride_src1 + i_dst2 * params.stride_src2 + i_dst3 * params.stride_src3; + let i_dst_row = params.offset_dst + i_dst1 * params.stride_dst1 + i_dst2 * params.stride_dst2 + i_dst3 * params.stride_dst3; + + for (var i: u32 = 0; i < params.ne0/{{BLOCK_SIZE}}; i++) { + copy_elements(i_src_row, i_dst_row, i); + } +} + +#end(SHADER) diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/mul.tmpl.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/mul.tmpl.wgsl new file mode 100644 index 0000000000..12506e1420 --- /dev/null +++ b/ggml/src/ggml-webgpu/wgsl-shaders/mul.tmpl.wgsl @@ -0,0 +1,44 @@ +#define(VARIANTS) + +[ + { + "REPLS": { + "TYPE" : "f32", + } + }, + { + "REPLS": { + "TYPE" : "f16", + } + } +] + +#end(VARIANTS) + +#define(SHADER) + +enable f16; + +#include "binary_head.tmpl" + +@group(0) @binding(0) +var src0: array<{{TYPE}}>; + +@group(0) @binding(1) +var src1: array<{{TYPE}}>; + +@group(0) @binding(2) +var dst: array<{{TYPE}}>; + +@group(0) @binding(3) +var params: Params; + +override wg_size: u32; +@compute @workgroup_size(wg_size) +fn main(@builtin(global_invocation_id) gid: vec3) { + if (gid.x < params.ne) { + dst[params.offset_dst + gid.x] = src0[params.offset_src0 + gid.x] * src1[params.offset_src1 + src1_index(gid.x)]; + } +} + +#end(SHADER) diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/mul_in_place.tmpl.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/mul_in_place.tmpl.wgsl new file mode 100644 index 0000000000..e467e59edb --- /dev/null +++ b/ggml/src/ggml-webgpu/wgsl-shaders/mul_in_place.tmpl.wgsl @@ -0,0 +1,41 @@ +#define(VARIANTS) + +[ + { + "REPLS": { + "TYPE" : "f32", + } + }, + { + "REPLS": { + "TYPE" : "f16", + } + } +] + +#end(VARIANTS) + +#define(SHADER) + +enable f16; + +#include "binary_head.tmpl" + +@group(0) @binding(0) +var src0: array<{{TYPE}}>; + +@group(0) @binding(1) +var src1: array<{{TYPE}}>; + +@group(0) @binding(2) +var params: Params; + +override wg_size: u32; +@compute @workgroup_size(wg_size) +fn main(@builtin(global_invocation_id) gid: vec3) { + if (gid.x < params.ne) { + src0[params.offset_dst + gid.x] = src0[params.offset_src0 + gid.x] * src1[params.offset_src1 + src1_index(gid.x)]; + } +} + +#end(SHADER) diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/mul_mat.tmpl.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/mul_mat.tmpl.wgsl index 79465c298d..25e2185de8 100644 --- a/ggml/src/ggml-webgpu/wgsl-shaders/mul_mat.tmpl.wgsl +++ b/ggml/src/ggml-webgpu/wgsl-shaders/mul_mat.tmpl.wgsl @@ -31,7 +31,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 32 }, - "DECLS": ["BYTE_HELPERS", "Q4_0"] + "DECLS": ["BYTE_HELPERS", "Q4_0_T", "Q4_0"] }, { "REPLS": { @@ -39,7 +39,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 32 }, - "DECLS": ["BYTE_HELPERS", "Q4_1"] + "DECLS": ["BYTE_HELPERS", "Q4_1_T", "Q4_1"] }, { "REPLS": { @@ -47,7 +47,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 32 }, - "DECLS": ["BYTE_HELPERS", "Q5_0"] + "DECLS": ["BYTE_HELPERS", "Q5_0_T", "Q5_0"] }, { "REPLS": { @@ -55,7 +55,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 32 }, - "DECLS": ["BYTE_HELPERS", "Q5_1"] + "DECLS": ["BYTE_HELPERS", "Q5_1_T", "Q5_1"] }, { "REPLS": { @@ -63,7 +63,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 32 }, - "DECLS": ["BYTE_HELPERS", "Q8_0"] + "DECLS": ["BYTE_HELPERS", "Q8_0_T", "Q8_0"] }, { "REPLS": { @@ -71,7 +71,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["BYTE_HELPERS", "Q2_K"] + "DECLS": ["BYTE_HELPERS", "Q2_K_T", "Q2_K"] }, { "REPLS": { @@ -79,7 +79,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["BYTE_HELPERS", "Q3_K"] + "DECLS": ["BYTE_HELPERS", "Q3_K_T", "Q3_K"] }, { "REPLS": { @@ -87,7 +87,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["Q45_K_SCALE_MIN", "BYTE_HELPERS", "Q4_K"] + "DECLS": ["Q45_K_SCALE_MIN", "BYTE_HELPERS", "Q4_K_T", "Q4_K"] }, { "REPLS": { @@ -95,7 +95,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["Q45_K_SCALE_MIN", "BYTE_HELPERS", "Q5_K"] + "DECLS": ["Q45_K_SCALE_MIN", "BYTE_HELPERS", "Q5_K_T", "Q5_K"] }, { "REPLS": { @@ -103,7 +103,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["BYTE_HELPERS", "Q6_K"] + "DECLS": ["BYTE_HELPERS", "Q6_K_T", "Q6_K"] }, { "REPLS": { @@ -111,7 +111,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ2_XXS"] + "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ2_XXS_GRID", "IQ2_XXS_T", "IQ2_XXS"] }, { "REPLS": { @@ -119,7 +119,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ2_XS"] + "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ2_XS_GRID", "IQ2_XS_T", "IQ2_XS"] }, { "REPLS": { @@ -127,7 +127,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ2_S"] + "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ2_S_GRID", "IQ2_S_T", "IQ2_S"] }, { "REPLS": { @@ -135,7 +135,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ3_XSS"] + "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ3_XSS_GRID", "IQ3_XSS_T", "IQ3_XSS"] }, { "REPLS": { @@ -143,7 +143,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ3_S"] + "DECLS": ["BYTE_HELPERS", "IQ23_TABLES", "IQ3_S_GRID", "IQ3_S_T", "IQ3_S"] }, { "REPLS": { @@ -151,7 +151,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["BYTE_HELPERS", "IQ1_TABLE","IQ1_S"] + "DECLS": ["BYTE_HELPERS", "IQ1_GRID", "IQ1_S_T", "IQ1_S"] }, { "REPLS": { @@ -159,7 +159,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256 }, - "DECLS": ["BYTE_HELPERS", "IQ1_TABLE","IQ1_M"] + "DECLS": ["BYTE_HELPERS", "IQ1_GRID", "IQ1_M_T", "IQ1_M"] }, { "REPLS": { @@ -167,7 +167,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 32, }, - "DECLS": ["BYTE_HELPERS", "IQ4_TABLE", "IQ4_NL"] + "DECLS": ["BYTE_HELPERS", "IQ4_GRID", "IQ4_NL_T", "IQ4_NL"] }, { "REPLS": { @@ -175,7 +175,7 @@ "SRC1_TYPE": "f32", "BLOCK_SIZE": 256, }, - "DECLS": ["BYTE_HELPERS", "IQ4_TABLE", "IQ4_XS"] + "DECLS": ["BYTE_HELPERS", "IQ4_GRID", "IQ4_XS_T", "IQ4_XS"] } ] @@ -183,18 +183,6 @@ #define(DECLS) -#decl(BYTE_HELPERS) - -fn get_byte(value: u32, index: u32) -> u32 { - return (value >> (index * 8)) & 0xFF; -} - -fn get_byte_i32(value: u32, index: u32) -> i32 { - return bitcast(((value >> (index * 8)) & 0xFF) << 24) >> 24; -} - -#enddecl(BYTE_HELPERS) - #decl(FLOAT) fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { return f32(src0[src0_idx_base + offset]) * f32(src1[src1_idx_base + offset]); @@ -202,11 +190,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(FLOAT) #decl(Q4_0) -struct q4_0 { - d: f16, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block_q4_0 = src0[src0_idx_base + offset]; let d = f32(block_q4_0.d); @@ -227,12 +210,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(Q4_0) #decl(Q4_1) -struct q4_1 { - d: f16, - m: f16, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block_q4_1 = src0[src0_idx_base + offset]; let d = f32(block_q4_1.d); @@ -254,12 +231,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(Q4_1) #decl(Q5_0) -struct q5_0 { - d: f16, - qh: array, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block_q5_0 = src0[src0_idx_base + offset]; let d = f32(block_q5_0.d); @@ -283,13 +254,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(Q5_0) #decl(Q5_1) -struct q5_1 { - d: f16, - m: f16, - qh: u32, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block_q5_1 = src0[src0_idx_base + offset]; let d = f32(block_q5_1.d); @@ -313,11 +277,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(Q5_1) #decl(Q8_0) -struct q8_0 { - d: f16, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block_q8_0 = src0[src0_idx_base + offset]; let d = f32(block_q8_0.d); @@ -336,12 +295,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(Q8_0) #decl(Q8_1) -struct q8_1 { - d: f16, - m: f16, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block_q8_1 = src0[src0_idx_base + offset]; let d = f32(block_q8_1.d); @@ -362,13 +315,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #decl(Q2_K) // 16 blocks of 16 elements each -struct q2_k { - scales: array, - qs: array, - d: f16, - dmin: f16 -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -403,13 +349,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #decl(Q3_K) // 16 blocks of 16 elements each -struct q3_k { - hmask: array, - qs: array, - scales: array, // 6-bit quantized values - d: f16 -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -470,34 +409,8 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(Q3_K) -#decl(Q45_K_SCALE_MIN) - -fn get_scale_min(is: u32, scales: array) -> vec2 { - if (is < 4) { - let sc_byte = get_byte(scales[is / 4], is % 4); - let min_byte = get_byte(scales[(is + 4) / 4], is % 4); - return vec2(f32(sc_byte & 63), f32(min_byte & 63)); - } else { - let sc_min_lo = get_byte(scales[(is + 4) / 4], (is + 4) % 4); - let sc_hi = get_byte(scales[(is - 4) / 4], (is - 4) % 4); - let min_hi = get_byte(scales[is / 4], is % 4); - let sc = (sc_min_lo & 0xF) | ((sc_hi >> 6) << 4); - let m = (sc_min_lo >> 4) | ((min_hi >> 6) << 4); - return vec2(f32(sc), f32(m)); - } -} - -#enddecl(Q45_K_SCALE_MIN) - #decl(Q4_K) // 8 blocks of 32 elements each -struct q4_k { - d: f16, - dmin: f16, - scales: array, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -528,14 +441,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #decl(Q5_K) // 8 blocks of 32 elements each -struct q5_k { - d: f16, - dmin: f16, - scales: array, - qh: array, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -570,13 +475,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #decl(Q6_K) // 16 blocks of 16 elements each -struct q6_k { - ql: array, - qh: array, - scales: array, - d: f16 -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -634,98 +532,7 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(Q6_K) -#decl(IQ23_TABLES) -const kmask_iq2xs : array = array( - 0x08040201u, // 1, 2, 4, 8 - 0x80402010u // 16, 32, 64, 128 -); - -const ksigns_iq2xs: array = array( - 0x03828100,0x87060584,0x8b0a0988,0x0f8e8d0c, - 0x93121190,0x17969514,0x1b9a9918,0x9f1e1d9c, - 0xa32221a0,0x27a6a524,0x2baaa928,0xaf2e2dac, - 0x33b2b130,0xb73635b4,0xbb3a39b8,0x3fbebd3c, - 0xc34241c0,0x47c6c544,0x4bcac948,0xcf4e4dcc, - 0x53d2d150,0xd75655d4,0xdb5a59d8,0x5fdedd5c, - 0x63e2e160,0xe76665e4,0xeb6a69e8,0x6feeed6c, - 0xf37271f0,0x77f6f574,0x7bfaf978,0xff7e7dfc -); -#enddecl(IQ23_TABLES) - #decl(IQ2_XXS) - -const iq2xxs_grid = array( - 0x08080808, 0x08080808, 0x0808082b, 0x08080808, 0x08081919, 0x08080808, 0x08082b08, 0x08080808, - 0x08082b2b, 0x08080808, 0x08190819, 0x08080808, 0x08191908, 0x08080808, 0x082b0808, 0x08080808, - 0x082b082b, 0x08080808, 0x082b2b08, 0x08080808, 0x082b2b2b, 0x08080808, 0x19080819, 0x08080808, - 0x19081908, 0x08080808, 0x19190808, 0x08080808, 0x19192b08, 0x08080808, 0x192b0819, 0x08080808, - 0x192b1908, 0x08080808, 0x2b080808, 0x08080808, 0x2b08082b, 0x08080808, 0x2b082b2b, 0x08080808, - 0x2b2b082b, 0x08080808, 0x08080819, 0x08080819, 0x08081908, 0x08080819, 0x08190808, 0x08080819, - 0x08191919, 0x08080819, 0x19080808, 0x08080819, 0x2b081908, 0x08080819, 0x2b192b08, 0x08080819, - 0x08080808, 0x0808082b, 0x0808082b, 0x0808082b, 0x082b082b, 0x0808082b, 0x2b08082b, 0x0808082b, - 0x08080819, 0x08081908, 0x08081908, 0x08081908, 0x08190808, 0x08081908, 0x082b0819, 0x08081908, - 0x082b1908, 0x08081908, 0x19080808, 0x08081908, 0x1908082b, 0x08081908, 0x19082b08, 0x08081908, - 0x192b0808, 0x08081908, 0x2b080819, 0x08081908, 0x2b081908, 0x08081908, 0x2b190808, 0x08081908, - 0x2b2b1908, 0x08081908, 0x08080808, 0x08081919, 0x0808082b, 0x08081919, 0x08082b08, 0x08081919, - 0x082b0808, 0x08081919, 0x1908192b, 0x08081919, 0x192b2b19, 0x08081919, 0x2b080808, 0x08081919, - 0x2b190819, 0x08081919, 0x08082b19, 0x0808192b, 0x08190808, 0x0808192b, 0x19080808, 0x0808192b, - 0x2b081908, 0x0808192b, 0x2b2b1908, 0x0808192b, 0x08080808, 0x08082b08, 0x08081919, 0x08082b08, - 0x08082b08, 0x08082b08, 0x08191908, 0x08082b08, 0x082b2b08, 0x08082b08, 0x19080819, 0x08082b08, - 0x19081908, 0x08082b08, 0x19190808, 0x08082b08, 0x1919082b, 0x08082b08, 0x2b082b08, 0x08082b08, - 0x08081908, 0x08082b19, 0x19080808, 0x08082b19, 0x0808082b, 0x08082b2b, 0x08191908, 0x08082b2b, - 0x08080819, 0x08190808, 0x08081908, 0x08190808, 0x08190808, 0x08190808, 0x082b0819, 0x08190808, - 0x19080808, 0x08190808, 0x192b0808, 0x08190808, 0x2b081908, 0x08190808, 0x2b190808, 0x08190808, - 0x2b191919, 0x08190808, 0x08080808, 0x08190819, 0x08082b08, 0x08190819, 0x082b0808, 0x08190819, - 0x19190808, 0x08190819, 0x19192b2b, 0x08190819, 0x2b080808, 0x08190819, 0x082b1908, 0x0819082b, - 0x19081919, 0x0819082b, 0x08080808, 0x08191908, 0x08082b08, 0x08191908, 0x082b0808, 0x08191908, - 0x082b1919, 0x08191908, 0x19082b19, 0x08191908, 0x2b080808, 0x08191908, 0x08192b08, 0x08191919, - 0x192b082b, 0x08191919, 0x08080808, 0x0819192b, 0x0819192b, 0x0819192b, 0x08080819, 0x08192b08, - 0x08081908, 0x08192b08, 0x08190808, 0x08192b08, 0x19080808, 0x08192b08, 0x2b080819, 0x08192b08, - 0x08080808, 0x08192b19, 0x08081919, 0x08192b19, 0x2b2b0808, 0x08192b19, 0x19190819, 0x08192b2b, - 0x08080808, 0x082b0808, 0x0808082b, 0x082b0808, 0x08082b2b, 0x082b0808, 0x19081908, 0x082b0808, - 0x192b0819, 0x082b0808, 0x2b080808, 0x082b0808, 0x2b08082b, 0x082b0808, 0x082b2b19, 0x082b0819, - 0x19082b08, 0x082b0819, 0x08080808, 0x082b082b, 0x0808082b, 0x082b082b, 0x08080819, 0x082b1908, - 0x08081908, 0x082b1908, 0x08190808, 0x082b1908, 0x19080808, 0x082b1908, 0x1919192b, 0x082b1908, - 0x08080808, 0x082b1919, 0x19080819, 0x082b1919, 0x192b1908, 0x082b1919, 0x2b190808, 0x082b192b, - 0x08082b08, 0x082b2b08, 0x082b0808, 0x082b2b08, 0x2b191908, 0x082b2b08, 0x19081908, 0x082b2b2b, - 0x08080819, 0x19080808, 0x08081908, 0x19080808, 0x08190808, 0x19080808, 0x08192b08, 0x19080808, - 0x082b0819, 0x19080808, 0x082b1908, 0x19080808, 0x19080808, 0x19080808, 0x19082b08, 0x19080808, - 0x1919192b, 0x19080808, 0x192b0808, 0x19080808, 0x2b080819, 0x19080808, 0x2b081908, 0x19080808, - 0x2b190808, 0x19080808, 0x08080808, 0x19080819, 0x082b0808, 0x19080819, 0x192b0819, 0x19080819, - 0x2b080808, 0x19080819, 0x2b081919, 0x19080819, 0x08080819, 0x1908082b, 0x08190808, 0x1908082b, - 0x19082b08, 0x1908082b, 0x1919192b, 0x1908082b, 0x192b2b08, 0x1908082b, 0x08080808, 0x19081908, - 0x08082b08, 0x19081908, 0x082b0808, 0x19081908, 0x2b080808, 0x19081908, 0x2b192b19, 0x19081908, - 0x0819082b, 0x19081919, 0x082b1908, 0x19081919, 0x08080808, 0x1908192b, 0x08080819, 0x19082b08, - 0x08081908, 0x19082b08, 0x08190808, 0x19082b08, 0x19080808, 0x19082b08, 0x19081919, 0x19082b08, - 0x08080808, 0x19082b19, 0x19192b08, 0x19082b19, 0x192b0819, 0x19082b19, 0x2b08082b, 0x19082b19, - 0x19081919, 0x19082b2b, 0x2b190808, 0x19082b2b, 0x08080808, 0x19190808, 0x08082b08, 0x19190808, - 0x08190819, 0x19190808, 0x08192b19, 0x19190808, 0x082b0808, 0x19190808, 0x2b080808, 0x19190808, - 0x2b082b08, 0x19190808, 0x08081908, 0x19190819, 0x1908082b, 0x19190819, 0x2b2b1908, 0x19190819, - 0x2b190819, 0x1919082b, 0x2b190808, 0x19191908, 0x2b19082b, 0x19191908, 0x08082b2b, 0x19191919, - 0x08080819, 0x1919192b, 0x19191908, 0x1919192b, 0x08080808, 0x19192b08, 0x08190819, 0x19192b08, - 0x08192b19, 0x19192b08, 0x192b1908, 0x19192b08, 0x19080808, 0x19192b19, 0x08082b08, 0x19192b2b, - 0x08081908, 0x192b0808, 0x08190808, 0x192b0808, 0x19080808, 0x192b0808, 0x192b2b08, 0x192b0808, - 0x08080808, 0x192b0819, 0x19191919, 0x192b0819, 0x08192b08, 0x192b082b, 0x192b0808, 0x192b082b, - 0x08080808, 0x192b1908, 0x08081919, 0x192b1908, 0x08190808, 0x192b1919, 0x0819082b, 0x192b1919, - 0x2b081908, 0x192b1919, 0x1908082b, 0x192b2b08, 0x08080808, 0x2b080808, 0x0808082b, 0x2b080808, - 0x08082b2b, 0x2b080808, 0x19080819, 0x2b080808, 0x2b08082b, 0x2b080808, 0x08081908, 0x2b080819, - 0x08192b08, 0x2b080819, 0x19080808, 0x2b080819, 0x08190819, 0x2b08082b, 0x08080819, 0x2b081908, - 0x08081908, 0x2b081908, 0x08190808, 0x2b081908, 0x08191919, 0x2b081908, 0x19080808, 0x2b081908, - 0x192b0808, 0x2b081908, 0x08080808, 0x2b081919, 0x1908192b, 0x2b081919, 0x2b191908, 0x2b081919, - 0x08082b19, 0x2b08192b, 0x19080808, 0x2b08192b, 0x192b0808, 0x2b08192b, 0x0808082b, 0x2b082b08, - 0x08081908, 0x2b082b19, 0x08190819, 0x2b082b2b, 0x08081908, 0x2b190808, 0x08190808, 0x2b190808, - 0x082b1908, 0x2b190808, 0x19080808, 0x2b190808, 0x2b2b0819, 0x2b190808, 0x0819192b, 0x2b190819, - 0x2b080808, 0x2b190819, 0x19081919, 0x2b19082b, 0x08080808, 0x2b191908, 0x082b082b, 0x2b191908, - 0x19081908, 0x2b191908, 0x19190819, 0x2b191919, 0x2b080819, 0x2b192b08, 0x082b0808, 0x2b192b19, - 0x0808082b, 0x2b2b0808, 0x19190808, 0x2b2b0808, 0x2b081919, 0x2b2b0808, 0x08082b19, 0x2b2b0819, - 0x08080808, 0x2b2b082b, 0x08192b08, 0x2b2b1908, 0x19190808, 0x2b2b2b08, 0x08081908, 0x2b2b2b19 -); - -struct iq2_xxs { - d: f16, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -753,143 +560,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(IQ2_XXS) #decl(IQ2_XS) -const iq2xs_grid = array( - 0x08080808, 0x08080808, 0x0808082b, 0x08080808, 0x08081919, 0x08080808, 0x08082b08, 0x08080808, - 0x08082b2b, 0x08080808, 0x08190819, 0x08080808, 0x08191908, 0x08080808, 0x0819192b, 0x08080808, - 0x08192b19, 0x08080808, 0x082b0808, 0x08080808, 0x082b082b, 0x08080808, 0x082b1919, 0x08080808, - 0x082b2b08, 0x08080808, 0x19080819, 0x08080808, 0x19081908, 0x08080808, 0x1908192b, 0x08080808, - 0x19082b19, 0x08080808, 0x19190808, 0x08080808, 0x1919082b, 0x08080808, 0x19191919, 0x08080808, - 0x19192b08, 0x08080808, 0x192b0819, 0x08080808, 0x192b1908, 0x08080808, 0x2b080808, 0x08080808, - 0x2b08082b, 0x08080808, 0x2b081919, 0x08080808, 0x2b082b08, 0x08080808, 0x2b190819, 0x08080808, - 0x2b191908, 0x08080808, 0x2b192b19, 0x08080808, 0x2b2b0808, 0x08080808, 0x08080819, 0x08080819, - 0x08081908, 0x08080819, 0x0808192b, 0x08080819, 0x08082b19, 0x08080819, 0x08190808, 0x08080819, - 0x0819082b, 0x08080819, 0x08191919, 0x08080819, 0x08192b08, 0x08080819, 0x08192b2b, 0x08080819, - 0x082b0819, 0x08080819, 0x082b1908, 0x08080819, 0x19080808, 0x08080819, 0x1908082b, 0x08080819, - 0x19081919, 0x08080819, 0x19082b08, 0x08080819, 0x19190819, 0x08080819, 0x19191908, 0x08080819, - 0x192b0808, 0x08080819, 0x192b2b08, 0x08080819, 0x2b080819, 0x08080819, 0x2b081908, 0x08080819, - 0x2b190808, 0x08080819, 0x08080808, 0x0808082b, 0x0808082b, 0x0808082b, 0x08081919, 0x0808082b, - 0x08082b08, 0x0808082b, 0x08190819, 0x0808082b, 0x08191908, 0x0808082b, 0x082b0808, 0x0808082b, - 0x19080819, 0x0808082b, 0x19081908, 0x0808082b, 0x19190808, 0x0808082b, 0x19191919, 0x0808082b, - 0x2b080808, 0x0808082b, 0x2b082b2b, 0x0808082b, 0x08080819, 0x08081908, 0x08081908, 0x08081908, - 0x0808192b, 0x08081908, 0x08082b19, 0x08081908, 0x08190808, 0x08081908, 0x0819082b, 0x08081908, - 0x08191919, 0x08081908, 0x08192b08, 0x08081908, 0x082b0819, 0x08081908, 0x082b1908, 0x08081908, - 0x19080808, 0x08081908, 0x1908082b, 0x08081908, 0x19081919, 0x08081908, 0x19082b08, 0x08081908, - 0x19190819, 0x08081908, 0x19191908, 0x08081908, 0x1919192b, 0x08081908, 0x192b0808, 0x08081908, - 0x2b080819, 0x08081908, 0x2b081908, 0x08081908, 0x2b190808, 0x08081908, 0x08080808, 0x08081919, - 0x0808082b, 0x08081919, 0x08081919, 0x08081919, 0x08082b08, 0x08081919, 0x08190819, 0x08081919, - 0x08191908, 0x08081919, 0x082b0808, 0x08081919, 0x19080819, 0x08081919, 0x19081908, 0x08081919, - 0x19190808, 0x08081919, 0x192b0819, 0x08081919, 0x2b080808, 0x08081919, 0x08080819, 0x0808192b, - 0x08081908, 0x0808192b, 0x08190808, 0x0808192b, 0x082b192b, 0x0808192b, 0x19080808, 0x0808192b, - 0x1908082b, 0x0808192b, 0x2b081908, 0x0808192b, 0x08080808, 0x08082b08, 0x0808082b, 0x08082b08, - 0x08081919, 0x08082b08, 0x08082b08, 0x08082b08, 0x08082b2b, 0x08082b08, 0x08190819, 0x08082b08, - 0x08191908, 0x08082b08, 0x082b0808, 0x08082b08, 0x082b1919, 0x08082b08, 0x19080819, 0x08082b08, - 0x19081908, 0x08082b08, 0x19190808, 0x08082b08, 0x19192b08, 0x08082b08, 0x2b080808, 0x08082b08, - 0x2b2b0808, 0x08082b08, 0x2b2b2b2b, 0x08082b08, 0x08080819, 0x08082b19, 0x08081908, 0x08082b19, - 0x08190808, 0x08082b19, 0x19080808, 0x08082b19, 0x2b080819, 0x08082b19, 0x2b082b19, 0x08082b19, - 0x08080808, 0x08082b2b, 0x082b0808, 0x08082b2b, 0x082b2b08, 0x08082b2b, 0x2b19192b, 0x08082b2b, - 0x2b2b0808, 0x08082b2b, 0x08080819, 0x08190808, 0x08081908, 0x08190808, 0x0808192b, 0x08190808, - 0x08082b19, 0x08190808, 0x08190808, 0x08190808, 0x0819082b, 0x08190808, 0x08191919, 0x08190808, - 0x08192b08, 0x08190808, 0x082b0819, 0x08190808, 0x082b1908, 0x08190808, 0x19080808, 0x08190808, - 0x1908082b, 0x08190808, 0x19081919, 0x08190808, 0x19082b08, 0x08190808, 0x19190819, 0x08190808, - 0x19191908, 0x08190808, 0x192b0808, 0x08190808, 0x192b2b2b, 0x08190808, 0x2b080819, 0x08190808, - 0x2b081908, 0x08190808, 0x2b190808, 0x08190808, 0x08080808, 0x08190819, 0x0808082b, 0x08190819, - 0x08081919, 0x08190819, 0x08082b08, 0x08190819, 0x08190819, 0x08190819, 0x08191908, 0x08190819, - 0x082b0808, 0x08190819, 0x19080819, 0x08190819, 0x19081908, 0x08190819, 0x19190808, 0x08190819, - 0x2b080808, 0x08190819, 0x2b191908, 0x08190819, 0x2b19192b, 0x08190819, 0x08080819, 0x0819082b, - 0x08081908, 0x0819082b, 0x0808192b, 0x0819082b, 0x08190808, 0x0819082b, 0x19080808, 0x0819082b, - 0x192b0808, 0x0819082b, 0x08080808, 0x08191908, 0x0808082b, 0x08191908, 0x08081919, 0x08191908, - 0x08082b08, 0x08191908, 0x08190819, 0x08191908, 0x08191908, 0x08191908, 0x082b0808, 0x08191908, - 0x19080819, 0x08191908, 0x19081908, 0x08191908, 0x19082b19, 0x08191908, 0x19190808, 0x08191908, - 0x192b1908, 0x08191908, 0x2b080808, 0x08191908, 0x08080819, 0x08191919, 0x08081908, 0x08191919, - 0x08190808, 0x08191919, 0x19080808, 0x08191919, 0x08080808, 0x0819192b, 0x08191908, 0x0819192b, - 0x19082b19, 0x0819192b, 0x08080819, 0x08192b08, 0x08081908, 0x08192b08, 0x08190808, 0x08192b08, - 0x0819082b, 0x08192b08, 0x19080808, 0x08192b08, 0x19191908, 0x08192b08, 0x2b08192b, 0x08192b08, - 0x08080808, 0x08192b19, 0x08081919, 0x08192b19, 0x192b192b, 0x08192b19, 0x19190819, 0x08192b2b, - 0x2b2b2b19, 0x08192b2b, 0x08080808, 0x082b0808, 0x0808082b, 0x082b0808, 0x08081919, 0x082b0808, - 0x08082b08, 0x082b0808, 0x08082b2b, 0x082b0808, 0x08190819, 0x082b0808, 0x08191908, 0x082b0808, - 0x082b0808, 0x082b0808, 0x19080819, 0x082b0808, 0x19081908, 0x082b0808, 0x19190808, 0x082b0808, - 0x2b080808, 0x082b0808, 0x2b2b0808, 0x082b0808, 0x08080819, 0x082b0819, 0x08081908, 0x082b0819, - 0x08190808, 0x082b0819, 0x19080808, 0x082b0819, 0x19082b08, 0x082b0819, 0x192b1919, 0x082b0819, - 0x08080808, 0x082b082b, 0x082b082b, 0x082b082b, 0x2b080808, 0x082b082b, 0x2b2b2b08, 0x082b082b, - 0x08080819, 0x082b1908, 0x08081908, 0x082b1908, 0x08190808, 0x082b1908, 0x082b2b19, 0x082b1908, - 0x19080808, 0x082b1908, 0x08080808, 0x082b1919, 0x19080819, 0x082b1919, 0x1919082b, 0x082b1919, - 0x2b192b19, 0x082b1919, 0x08080819, 0x082b192b, 0x08192b2b, 0x082b192b, 0x2b2b192b, 0x082b192b, - 0x08080808, 0x082b2b08, 0x08082b08, 0x082b2b08, 0x08082b2b, 0x082b2b08, 0x082b0808, 0x082b2b08, - 0x19191919, 0x082b2b08, 0x2b082b08, 0x082b2b08, 0x2b2b082b, 0x082b2b08, 0x192b2b08, 0x082b2b19, - 0x2b190808, 0x082b2b19, 0x08082b08, 0x082b2b2b, 0x082b0808, 0x082b2b2b, 0x2b08082b, 0x082b2b2b, - 0x2b082b08, 0x082b2b2b, 0x2b082b2b, 0x082b2b2b, 0x08080819, 0x19080808, 0x08081908, 0x19080808, - 0x0808192b, 0x19080808, 0x08082b19, 0x19080808, 0x08190808, 0x19080808, 0x0819082b, 0x19080808, - 0x08191919, 0x19080808, 0x08192b08, 0x19080808, 0x082b0819, 0x19080808, 0x082b1908, 0x19080808, - 0x19080808, 0x19080808, 0x1908082b, 0x19080808, 0x19081919, 0x19080808, 0x19082b08, 0x19080808, - 0x19082b2b, 0x19080808, 0x19190819, 0x19080808, 0x19191908, 0x19080808, 0x192b0808, 0x19080808, - 0x192b1919, 0x19080808, 0x2b080819, 0x19080808, 0x2b081908, 0x19080808, 0x2b190808, 0x19080808, - 0x08080808, 0x19080819, 0x0808082b, 0x19080819, 0x08081919, 0x19080819, 0x08082b08, 0x19080819, - 0x08190819, 0x19080819, 0x08191908, 0x19080819, 0x082b0808, 0x19080819, 0x19080819, 0x19080819, - 0x19081908, 0x19080819, 0x19190808, 0x19080819, 0x2b080808, 0x19080819, 0x2b081919, 0x19080819, - 0x2b2b082b, 0x19080819, 0x08080819, 0x1908082b, 0x08081908, 0x1908082b, 0x08190808, 0x1908082b, - 0x0819082b, 0x1908082b, 0x082b2b19, 0x1908082b, 0x19080808, 0x1908082b, 0x08080808, 0x19081908, - 0x0808082b, 0x19081908, 0x08081919, 0x19081908, 0x08082b08, 0x19081908, 0x08190819, 0x19081908, - 0x08191908, 0x19081908, 0x08192b19, 0x19081908, 0x082b0808, 0x19081908, 0x19080819, 0x19081908, - 0x19081908, 0x19081908, 0x19190808, 0x19081908, 0x2b080808, 0x19081908, 0x2b191908, 0x19081908, - 0x08080819, 0x19081919, 0x08081908, 0x19081919, 0x08190808, 0x19081919, 0x082b1908, 0x19081919, - 0x19080808, 0x19081919, 0x2b192b2b, 0x19081919, 0x08080808, 0x1908192b, 0x08082b2b, 0x1908192b, - 0x19081908, 0x1908192b, 0x19190808, 0x1908192b, 0x08080819, 0x19082b08, 0x08081908, 0x19082b08, - 0x08190808, 0x19082b08, 0x19080808, 0x19082b08, 0x19081919, 0x19082b08, 0x19191908, 0x19082b08, - 0x192b082b, 0x19082b08, 0x08080808, 0x19082b19, 0x08190819, 0x19082b19, 0x19081908, 0x19082b19, - 0x19190808, 0x19082b19, 0x192b2b19, 0x19082b19, 0x08081908, 0x19082b2b, 0x08080808, 0x19190808, - 0x0808082b, 0x19190808, 0x08081919, 0x19190808, 0x08082b08, 0x19190808, 0x08190819, 0x19190808, - 0x08191908, 0x19190808, 0x082b0808, 0x19190808, 0x082b2b08, 0x19190808, 0x19080819, 0x19190808, - 0x19081908, 0x19190808, 0x19190808, 0x19190808, 0x2b080808, 0x19190808, 0x08080819, 0x19190819, - 0x08081908, 0x19190819, 0x08190808, 0x19190819, 0x08191919, 0x19190819, 0x19080808, 0x19190819, - 0x1908082b, 0x19190819, 0x08080808, 0x1919082b, 0x19081908, 0x1919082b, 0x2b2b2b2b, 0x1919082b, - 0x08080819, 0x19191908, 0x08081908, 0x19191908, 0x08190808, 0x19191908, 0x082b0819, 0x19191908, - 0x19080808, 0x19191908, 0x192b0808, 0x19191908, 0x2b080819, 0x19191908, 0x2b2b0819, 0x19191908, - 0x08080808, 0x19191919, 0x08082b08, 0x19191919, 0x2b080808, 0x19191919, 0x2b082b08, 0x19191919, - 0x082b0819, 0x1919192b, 0x192b2b08, 0x1919192b, 0x2b2b0819, 0x1919192b, 0x08080808, 0x19192b08, - 0x08191908, 0x19192b08, 0x19080819, 0x19192b08, 0x19190808, 0x19192b08, 0x2b192b19, 0x19192b08, - 0x08192b2b, 0x19192b19, 0x19080808, 0x19192b19, 0x1908082b, 0x19192b19, 0x2b081919, 0x19192b2b, - 0x08080819, 0x192b0808, 0x08081908, 0x192b0808, 0x08190808, 0x192b0808, 0x19080808, 0x192b0808, - 0x19191908, 0x192b0808, 0x192b082b, 0x192b0808, 0x2b08192b, 0x192b0808, 0x2b2b2b19, 0x192b0808, - 0x08080808, 0x192b0819, 0x082b1908, 0x192b082b, 0x19082b2b, 0x192b082b, 0x2b19082b, 0x192b082b, - 0x08080808, 0x192b1908, 0x0819192b, 0x192b1908, 0x08190808, 0x192b1919, 0x19080808, 0x192b1919, - 0x19081919, 0x192b1919, 0x2b2b1908, 0x192b1919, 0x08080819, 0x192b2b08, 0x192b2b2b, 0x192b2b08, - 0x082b1919, 0x192b2b19, 0x0808192b, 0x192b2b2b, 0x19191908, 0x192b2b2b, 0x192b082b, 0x192b2b2b, - 0x08080808, 0x2b080808, 0x0808082b, 0x2b080808, 0x08081919, 0x2b080808, 0x08082b08, 0x2b080808, - 0x08190819, 0x2b080808, 0x08191908, 0x2b080808, 0x082b0808, 0x2b080808, 0x082b2b2b, 0x2b080808, - 0x19080819, 0x2b080808, 0x19081908, 0x2b080808, 0x19190808, 0x2b080808, 0x2b080808, 0x2b080808, - 0x2b08082b, 0x2b080808, 0x2b2b2b08, 0x2b080808, 0x2b2b2b2b, 0x2b080808, 0x08080819, 0x2b080819, - 0x08081908, 0x2b080819, 0x0808192b, 0x2b080819, 0x08190808, 0x2b080819, 0x19080808, 0x2b080819, - 0x19190819, 0x2b080819, 0x19192b19, 0x2b080819, 0x08080808, 0x2b08082b, 0x082b0808, 0x2b08082b, - 0x2b080808, 0x2b08082b, 0x2b08082b, 0x2b08082b, 0x2b2b0808, 0x2b08082b, 0x2b2b2b08, 0x2b08082b, - 0x08080819, 0x2b081908, 0x08081908, 0x2b081908, 0x08190808, 0x2b081908, 0x0819082b, 0x2b081908, - 0x08191919, 0x2b081908, 0x19080808, 0x2b081908, 0x192b0808, 0x2b081908, 0x2b082b19, 0x2b081908, - 0x08080808, 0x2b081919, 0x19081908, 0x2b081919, 0x2b2b1919, 0x2b081919, 0x08192b08, 0x2b08192b, - 0x192b2b2b, 0x2b08192b, 0x08080808, 0x2b082b08, 0x08082b08, 0x2b082b08, 0x082b1919, 0x2b082b08, - 0x19192b2b, 0x2b082b08, 0x2b080808, 0x2b082b08, 0x2b08082b, 0x2b082b08, 0x2b2b2b08, 0x2b082b08, - 0x0808192b, 0x2b082b19, 0x082b082b, 0x2b082b2b, 0x2b080808, 0x2b082b2b, 0x2b082b08, 0x2b082b2b, - 0x2b19192b, 0x2b082b2b, 0x2b2b2b08, 0x2b082b2b, 0x08080819, 0x2b190808, 0x08081908, 0x2b190808, - 0x08190808, 0x2b190808, 0x19080808, 0x2b190808, 0x1919192b, 0x2b190808, 0x2b081908, 0x2b190808, - 0x08080808, 0x2b190819, 0x082b082b, 0x2b190819, 0x192b1908, 0x2b190819, 0x1919192b, 0x2b19082b, - 0x2b082b19, 0x2b19082b, 0x08080808, 0x2b191908, 0x08081919, 0x2b191908, 0x19081908, 0x2b191908, - 0x19190808, 0x2b191908, 0x19192b08, 0x2b191908, 0x082b2b19, 0x2b191919, 0x2b190808, 0x2b191919, - 0x2b19082b, 0x2b191919, 0x19080819, 0x2b19192b, 0x19190819, 0x2b192b08, 0x2b2b192b, 0x2b192b08, - 0x19082b19, 0x2b192b19, 0x08191919, 0x2b192b2b, 0x192b0808, 0x2b192b2b, 0x08080808, 0x2b2b0808, - 0x0808082b, 0x2b2b0808, 0x08082b08, 0x2b2b0808, 0x08082b2b, 0x2b2b0808, 0x082b0808, 0x2b2b0808, - 0x082b2b2b, 0x2b2b0808, 0x2b2b0808, 0x2b2b0808, 0x19190819, 0x2b2b0819, 0x19192b19, 0x2b2b0819, - 0x2b2b192b, 0x2b2b0819, 0x08080808, 0x2b2b082b, 0x0808082b, 0x2b2b082b, 0x08082b08, 0x2b2b082b, - 0x082b2b2b, 0x2b2b082b, 0x2b080808, 0x2b2b082b, 0x2b2b0808, 0x2b2b082b, 0x19080808, 0x2b2b1908, - 0x2b191919, 0x2b2b1908, 0x192b1919, 0x2b2b192b, 0x2b192b08, 0x2b2b192b, 0x08082b2b, 0x2b2b2b08, - 0x082b0808, 0x2b2b2b08, 0x082b082b, 0x2b2b2b08, 0x082b2b08, 0x2b2b2b08, 0x2b2b0808, 0x2b2b2b08, - 0x2b2b2b08, 0x2b2b2b08, 0x08081908, 0x2b2b2b19, 0x2b081908, 0x2b2b2b19, 0x2b08192b, 0x2b2b2b19, - 0x082b2b08, 0x2b2b2b2b, 0x082b2b2b, 0x2b2b2b2b, 0x2b190819, 0x2b2b2b2b, 0x2b2b2b2b, 0x2b2b2b2b -); - -struct iq2_xs { - d: f16, - qs: array, - scales: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -925,273 +595,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(IQ2_XS) #decl(IQ2_S) - -const iq2s_grid = array( - 0x08080808, 0x08080808, 0x0808082b, 0x08080808, 0x08081919, 0x08080808, 0x08082b08, 0x08080808, - 0x08082b2b, 0x08080808, 0x08190819, 0x08080808, 0x08191908, 0x08080808, 0x0819192b, 0x08080808, - 0x08192b19, 0x08080808, 0x082b0808, 0x08080808, 0x082b082b, 0x08080808, 0x082b1919, 0x08080808, - 0x082b2b08, 0x08080808, 0x19080819, 0x08080808, 0x19081908, 0x08080808, 0x1908192b, 0x08080808, - 0x19082b19, 0x08080808, 0x19190808, 0x08080808, 0x1919082b, 0x08080808, 0x19191919, 0x08080808, - 0x19192b08, 0x08080808, 0x192b0819, 0x08080808, 0x192b1908, 0x08080808, 0x192b192b, 0x08080808, - 0x192b2b19, 0x08080808, 0x2b080808, 0x08080808, 0x2b08082b, 0x08080808, 0x2b081919, 0x08080808, - 0x2b082b08, 0x08080808, 0x2b190819, 0x08080808, 0x2b191908, 0x08080808, 0x2b2b0808, 0x08080808, - 0x2b2b1919, 0x08080808, 0x2b2b2b2b, 0x08080808, 0x08080819, 0x08080819, 0x08081908, 0x08080819, - 0x0808192b, 0x08080819, 0x08082b19, 0x08080819, 0x08190808, 0x08080819, 0x0819082b, 0x08080819, - 0x08191919, 0x08080819, 0x08192b08, 0x08080819, 0x082b0819, 0x08080819, 0x082b1908, 0x08080819, - 0x19080808, 0x08080819, 0x1908082b, 0x08080819, 0x19081919, 0x08080819, 0x19082b08, 0x08080819, - 0x19190819, 0x08080819, 0x19191908, 0x08080819, 0x1919192b, 0x08080819, 0x19192b19, 0x08080819, - 0x192b0808, 0x08080819, 0x192b1919, 0x08080819, 0x192b2b08, 0x08080819, 0x2b080819, 0x08080819, - 0x2b081908, 0x08080819, 0x2b190808, 0x08080819, 0x2b19082b, 0x08080819, 0x2b191919, 0x08080819, - 0x2b2b0819, 0x08080819, 0x2b2b1908, 0x08080819, 0x08080808, 0x0808082b, 0x0808082b, 0x0808082b, - 0x08081919, 0x0808082b, 0x08082b08, 0x0808082b, 0x08190819, 0x0808082b, 0x08191908, 0x0808082b, - 0x082b0808, 0x0808082b, 0x082b2b2b, 0x0808082b, 0x19080819, 0x0808082b, 0x19081908, 0x0808082b, - 0x1908192b, 0x0808082b, 0x19082b19, 0x0808082b, 0x19190808, 0x0808082b, 0x19191919, 0x0808082b, - 0x2b080808, 0x0808082b, 0x2b081919, 0x0808082b, 0x2b082b2b, 0x0808082b, 0x2b191908, 0x0808082b, - 0x2b2b082b, 0x0808082b, 0x08080819, 0x08081908, 0x08081908, 0x08081908, 0x0808192b, 0x08081908, - 0x08082b19, 0x08081908, 0x08190808, 0x08081908, 0x0819082b, 0x08081908, 0x08191919, 0x08081908, - 0x08192b08, 0x08081908, 0x082b0819, 0x08081908, 0x082b1908, 0x08081908, 0x082b192b, 0x08081908, - 0x082b2b19, 0x08081908, 0x19080808, 0x08081908, 0x1908082b, 0x08081908, 0x19081919, 0x08081908, - 0x19082b08, 0x08081908, 0x19082b2b, 0x08081908, 0x19190819, 0x08081908, 0x19191908, 0x08081908, - 0x1919192b, 0x08081908, 0x19192b19, 0x08081908, 0x192b0808, 0x08081908, 0x192b082b, 0x08081908, - 0x192b1919, 0x08081908, 0x2b080819, 0x08081908, 0x2b081908, 0x08081908, 0x2b08192b, 0x08081908, - 0x2b082b19, 0x08081908, 0x2b190808, 0x08081908, 0x2b191919, 0x08081908, 0x2b192b08, 0x08081908, - 0x2b2b0819, 0x08081908, 0x2b2b1908, 0x08081908, 0x08080808, 0x08081919, 0x0808082b, 0x08081919, - 0x08081919, 0x08081919, 0x08082b08, 0x08081919, 0x08082b2b, 0x08081919, 0x08190819, 0x08081919, - 0x08191908, 0x08081919, 0x0819192b, 0x08081919, 0x08192b19, 0x08081919, 0x082b0808, 0x08081919, - 0x082b1919, 0x08081919, 0x082b2b08, 0x08081919, 0x19080819, 0x08081919, 0x19081908, 0x08081919, - 0x1908192b, 0x08081919, 0x19082b19, 0x08081919, 0x19190808, 0x08081919, 0x1919082b, 0x08081919, - 0x19191919, 0x08081919, 0x19192b08, 0x08081919, 0x192b0819, 0x08081919, 0x192b1908, 0x08081919, - 0x2b080808, 0x08081919, 0x2b08082b, 0x08081919, 0x2b081919, 0x08081919, 0x2b082b08, 0x08081919, - 0x2b190819, 0x08081919, 0x2b191908, 0x08081919, 0x2b2b0808, 0x08081919, 0x08080819, 0x0808192b, - 0x08081908, 0x0808192b, 0x0808192b, 0x0808192b, 0x08082b19, 0x0808192b, 0x08190808, 0x0808192b, - 0x08191919, 0x0808192b, 0x19080808, 0x0808192b, 0x19081919, 0x0808192b, 0x19082b08, 0x0808192b, - 0x19190819, 0x0808192b, 0x19191908, 0x0808192b, 0x192b0808, 0x0808192b, 0x2b080819, 0x0808192b, - 0x2b081908, 0x0808192b, 0x2b190808, 0x0808192b, 0x08080808, 0x08082b08, 0x0808082b, 0x08082b08, - 0x08081919, 0x08082b08, 0x08082b08, 0x08082b08, 0x08190819, 0x08082b08, 0x08191908, 0x08082b08, - 0x0819192b, 0x08082b08, 0x08192b19, 0x08082b08, 0x082b0808, 0x08082b08, 0x082b1919, 0x08082b08, - 0x082b2b2b, 0x08082b08, 0x19080819, 0x08082b08, 0x19081908, 0x08082b08, 0x1908192b, 0x08082b08, - 0x19082b19, 0x08082b08, 0x19190808, 0x08082b08, 0x1919082b, 0x08082b08, 0x19191919, 0x08082b08, - 0x19192b08, 0x08082b08, 0x192b0819, 0x08082b08, 0x192b1908, 0x08082b08, 0x2b080808, 0x08082b08, - 0x2b081919, 0x08082b08, 0x2b191908, 0x08082b08, 0x2b2b2b2b, 0x08082b08, 0x08080819, 0x08082b19, - 0x08081908, 0x08082b19, 0x08190808, 0x08082b19, 0x0819082b, 0x08082b19, 0x08191919, 0x08082b19, - 0x08192b08, 0x08082b19, 0x082b0819, 0x08082b19, 0x19080808, 0x08082b19, 0x19081919, 0x08082b19, - 0x19082b08, 0x08082b19, 0x19190819, 0x08082b19, 0x19191908, 0x08082b19, 0x192b0808, 0x08082b19, - 0x2b080819, 0x08082b19, 0x2b190808, 0x08082b19, 0x08080808, 0x08082b2b, 0x08190819, 0x08082b2b, - 0x08191908, 0x08082b2b, 0x082b082b, 0x08082b2b, 0x082b2b08, 0x08082b2b, 0x082b2b2b, 0x08082b2b, - 0x19190808, 0x08082b2b, 0x2b192b19, 0x08082b2b, 0x08080819, 0x08190808, 0x08081908, 0x08190808, - 0x0808192b, 0x08190808, 0x08082b19, 0x08190808, 0x08190808, 0x08190808, 0x0819082b, 0x08190808, - 0x08191919, 0x08190808, 0x08192b08, 0x08190808, 0x082b0819, 0x08190808, 0x082b1908, 0x08190808, - 0x082b192b, 0x08190808, 0x19080808, 0x08190808, 0x1908082b, 0x08190808, 0x19081919, 0x08190808, - 0x19082b08, 0x08190808, 0x19190819, 0x08190808, 0x19191908, 0x08190808, 0x1919192b, 0x08190808, - 0x19192b19, 0x08190808, 0x192b0808, 0x08190808, 0x192b082b, 0x08190808, 0x192b1919, 0x08190808, - 0x192b2b08, 0x08190808, 0x2b080819, 0x08190808, 0x2b081908, 0x08190808, 0x2b08192b, 0x08190808, - 0x2b190808, 0x08190808, 0x2b191919, 0x08190808, 0x2b192b08, 0x08190808, 0x2b2b0819, 0x08190808, - 0x2b2b1908, 0x08190808, 0x08080808, 0x08190819, 0x0808082b, 0x08190819, 0x08081919, 0x08190819, - 0x08082b08, 0x08190819, 0x08082b2b, 0x08190819, 0x08190819, 0x08190819, 0x08191908, 0x08190819, - 0x0819192b, 0x08190819, 0x08192b19, 0x08190819, 0x082b0808, 0x08190819, 0x082b082b, 0x08190819, - 0x082b1919, 0x08190819, 0x082b2b08, 0x08190819, 0x19080819, 0x08190819, 0x19081908, 0x08190819, - 0x1908192b, 0x08190819, 0x19082b19, 0x08190819, 0x19190808, 0x08190819, 0x1919082b, 0x08190819, - 0x19191919, 0x08190819, 0x19192b08, 0x08190819, 0x192b0819, 0x08190819, 0x192b1908, 0x08190819, - 0x2b080808, 0x08190819, 0x2b08082b, 0x08190819, 0x2b081919, 0x08190819, 0x2b082b08, 0x08190819, - 0x2b190819, 0x08190819, 0x2b191908, 0x08190819, 0x08080819, 0x0819082b, 0x08081908, 0x0819082b, - 0x08082b19, 0x0819082b, 0x08190808, 0x0819082b, 0x08191919, 0x0819082b, 0x082b0819, 0x0819082b, - 0x082b1908, 0x0819082b, 0x19080808, 0x0819082b, 0x19081919, 0x0819082b, 0x19190819, 0x0819082b, - 0x19191908, 0x0819082b, 0x2b080819, 0x0819082b, 0x2b081908, 0x0819082b, 0x2b190808, 0x0819082b, - 0x08080808, 0x08191908, 0x0808082b, 0x08191908, 0x08081919, 0x08191908, 0x08082b08, 0x08191908, - 0x08190819, 0x08191908, 0x08191908, 0x08191908, 0x0819192b, 0x08191908, 0x08192b19, 0x08191908, - 0x082b0808, 0x08191908, 0x082b1919, 0x08191908, 0x082b2b08, 0x08191908, 0x19080819, 0x08191908, - 0x19081908, 0x08191908, 0x1908192b, 0x08191908, 0x19082b19, 0x08191908, 0x19190808, 0x08191908, - 0x1919082b, 0x08191908, 0x19191919, 0x08191908, 0x19192b08, 0x08191908, 0x192b0819, 0x08191908, - 0x192b1908, 0x08191908, 0x2b080808, 0x08191908, 0x2b08082b, 0x08191908, 0x2b081919, 0x08191908, - 0x2b082b08, 0x08191908, 0x2b190819, 0x08191908, 0x2b191908, 0x08191908, 0x2b2b0808, 0x08191908, - 0x08080819, 0x08191919, 0x08081908, 0x08191919, 0x0808192b, 0x08191919, 0x08082b19, 0x08191919, - 0x08190808, 0x08191919, 0x0819082b, 0x08191919, 0x08191919, 0x08191919, 0x08192b08, 0x08191919, - 0x082b0819, 0x08191919, 0x082b1908, 0x08191919, 0x19080808, 0x08191919, 0x1908082b, 0x08191919, - 0x19081919, 0x08191919, 0x19082b08, 0x08191919, 0x19190819, 0x08191919, 0x19191908, 0x08191919, - 0x192b0808, 0x08191919, 0x2b080819, 0x08191919, 0x2b081908, 0x08191919, 0x2b190808, 0x08191919, - 0x08080808, 0x0819192b, 0x08081919, 0x0819192b, 0x08082b08, 0x0819192b, 0x08190819, 0x0819192b, - 0x08191908, 0x0819192b, 0x082b0808, 0x0819192b, 0x19080819, 0x0819192b, 0x19081908, 0x0819192b, - 0x19190808, 0x0819192b, 0x2b080808, 0x0819192b, 0x2b2b2b2b, 0x0819192b, 0x08080819, 0x08192b08, - 0x08081908, 0x08192b08, 0x0808192b, 0x08192b08, 0x08082b19, 0x08192b08, 0x08190808, 0x08192b08, - 0x08191919, 0x08192b08, 0x08192b08, 0x08192b08, 0x082b0819, 0x08192b08, 0x19080808, 0x08192b08, - 0x1908082b, 0x08192b08, 0x19081919, 0x08192b08, 0x19082b08, 0x08192b08, 0x19190819, 0x08192b08, - 0x19191908, 0x08192b08, 0x192b0808, 0x08192b08, 0x2b080819, 0x08192b08, 0x2b081908, 0x08192b08, - 0x08080808, 0x08192b19, 0x0808082b, 0x08192b19, 0x08081919, 0x08192b19, 0x08082b08, 0x08192b19, - 0x08190819, 0x08192b19, 0x08191908, 0x08192b19, 0x082b0808, 0x08192b19, 0x19080819, 0x08192b19, - 0x19081908, 0x08192b19, 0x19190808, 0x08192b19, 0x192b2b19, 0x08192b19, 0x2b2b082b, 0x08192b19, - 0x08081908, 0x08192b2b, 0x08190808, 0x08192b2b, 0x19080808, 0x08192b2b, 0x1919192b, 0x08192b2b, - 0x08080808, 0x082b0808, 0x0808082b, 0x082b0808, 0x08081919, 0x082b0808, 0x08082b08, 0x082b0808, - 0x08190819, 0x082b0808, 0x08191908, 0x082b0808, 0x0819192b, 0x082b0808, 0x08192b19, 0x082b0808, - 0x082b0808, 0x082b0808, 0x082b1919, 0x082b0808, 0x082b2b2b, 0x082b0808, 0x19080819, 0x082b0808, - 0x19081908, 0x082b0808, 0x19190808, 0x082b0808, 0x1919082b, 0x082b0808, 0x19191919, 0x082b0808, - 0x192b1908, 0x082b0808, 0x2b080808, 0x082b0808, 0x2b082b2b, 0x082b0808, 0x2b191908, 0x082b0808, - 0x2b2b2b2b, 0x082b0808, 0x08080819, 0x082b0819, 0x08081908, 0x082b0819, 0x08190808, 0x082b0819, - 0x0819082b, 0x082b0819, 0x08191919, 0x082b0819, 0x082b0819, 0x082b0819, 0x19080808, 0x082b0819, - 0x1908082b, 0x082b0819, 0x19081919, 0x082b0819, 0x19190819, 0x082b0819, 0x19191908, 0x082b0819, - 0x192b0808, 0x082b0819, 0x2b080819, 0x082b0819, 0x2b081908, 0x082b0819, 0x2b190808, 0x082b0819, - 0x08080808, 0x082b082b, 0x08082b2b, 0x082b082b, 0x082b082b, 0x082b082b, 0x082b2b08, 0x082b082b, - 0x082b2b2b, 0x082b082b, 0x19081908, 0x082b082b, 0x19190808, 0x082b082b, 0x2b082b08, 0x082b082b, - 0x2b082b2b, 0x082b082b, 0x2b2b2b08, 0x082b082b, 0x08080819, 0x082b1908, 0x08081908, 0x082b1908, - 0x0808192b, 0x082b1908, 0x08082b19, 0x082b1908, 0x08190808, 0x082b1908, 0x08191919, 0x082b1908, - 0x08192b08, 0x082b1908, 0x082b0819, 0x082b1908, 0x082b1908, 0x082b1908, 0x19080808, 0x082b1908, - 0x1908082b, 0x082b1908, 0x19081919, 0x082b1908, 0x19082b08, 0x082b1908, 0x19190819, 0x082b1908, - 0x19191908, 0x082b1908, 0x192b0808, 0x082b1908, 0x2b080819, 0x082b1908, 0x2b081908, 0x082b1908, - 0x2b190808, 0x082b1908, 0x08080808, 0x082b1919, 0x08081919, 0x082b1919, 0x08082b08, 0x082b1919, - 0x08190819, 0x082b1919, 0x08191908, 0x082b1919, 0x082b0808, 0x082b1919, 0x19080819, 0x082b1919, - 0x19081908, 0x082b1919, 0x19190808, 0x082b1919, 0x192b192b, 0x082b1919, 0x2b080808, 0x082b1919, - 0x08080819, 0x082b192b, 0x08081908, 0x082b192b, 0x08190808, 0x082b192b, 0x19080808, 0x082b192b, - 0x19192b19, 0x082b192b, 0x08080808, 0x082b2b08, 0x08081919, 0x082b2b08, 0x08190819, 0x082b2b08, - 0x08191908, 0x082b2b08, 0x19080819, 0x082b2b08, 0x19081908, 0x082b2b08, 0x19190808, 0x082b2b08, - 0x2b082b2b, 0x082b2b08, 0x2b2b2b2b, 0x082b2b08, 0x08080819, 0x082b2b19, 0x08081908, 0x082b2b19, - 0x08190808, 0x082b2b19, 0x2b191919, 0x082b2b19, 0x08082b2b, 0x082b2b2b, 0x082b082b, 0x082b2b2b, - 0x192b1908, 0x082b2b2b, 0x2b082b08, 0x082b2b2b, 0x2b082b2b, 0x082b2b2b, 0x08080819, 0x19080808, - 0x08081908, 0x19080808, 0x0808192b, 0x19080808, 0x08082b19, 0x19080808, 0x08190808, 0x19080808, - 0x0819082b, 0x19080808, 0x08191919, 0x19080808, 0x08192b08, 0x19080808, 0x08192b2b, 0x19080808, - 0x082b0819, 0x19080808, 0x082b1908, 0x19080808, 0x082b192b, 0x19080808, 0x19080808, 0x19080808, - 0x1908082b, 0x19080808, 0x19081919, 0x19080808, 0x19082b08, 0x19080808, 0x19082b2b, 0x19080808, - 0x19190819, 0x19080808, 0x19191908, 0x19080808, 0x1919192b, 0x19080808, 0x19192b19, 0x19080808, - 0x192b0808, 0x19080808, 0x192b082b, 0x19080808, 0x192b1919, 0x19080808, 0x2b080819, 0x19080808, - 0x2b081908, 0x19080808, 0x2b190808, 0x19080808, 0x2b191919, 0x19080808, 0x2b192b08, 0x19080808, - 0x2b2b0819, 0x19080808, 0x2b2b1908, 0x19080808, 0x08080808, 0x19080819, 0x0808082b, 0x19080819, - 0x08081919, 0x19080819, 0x08082b08, 0x19080819, 0x08190819, 0x19080819, 0x08191908, 0x19080819, - 0x0819192b, 0x19080819, 0x08192b19, 0x19080819, 0x082b0808, 0x19080819, 0x082b082b, 0x19080819, - 0x082b1919, 0x19080819, 0x19080819, 0x19080819, 0x19081908, 0x19080819, 0x1908192b, 0x19080819, - 0x19082b19, 0x19080819, 0x19190808, 0x19080819, 0x1919082b, 0x19080819, 0x19191919, 0x19080819, - 0x19192b08, 0x19080819, 0x192b0819, 0x19080819, 0x192b1908, 0x19080819, 0x2b080808, 0x19080819, - 0x2b08082b, 0x19080819, 0x2b081919, 0x19080819, 0x2b082b08, 0x19080819, 0x2b190819, 0x19080819, - 0x2b191908, 0x19080819, 0x2b2b0808, 0x19080819, 0x08080819, 0x1908082b, 0x08081908, 0x1908082b, - 0x08190808, 0x1908082b, 0x0819082b, 0x1908082b, 0x08191919, 0x1908082b, 0x08192b08, 0x1908082b, - 0x082b1908, 0x1908082b, 0x19080808, 0x1908082b, 0x19081919, 0x1908082b, 0x19082b08, 0x1908082b, - 0x19190819, 0x1908082b, 0x19191908, 0x1908082b, 0x192b0808, 0x1908082b, 0x2b080819, 0x1908082b, - 0x2b081908, 0x1908082b, 0x08080808, 0x19081908, 0x0808082b, 0x19081908, 0x08081919, 0x19081908, - 0x08082b08, 0x19081908, 0x08082b2b, 0x19081908, 0x08190819, 0x19081908, 0x08191908, 0x19081908, - 0x0819192b, 0x19081908, 0x08192b19, 0x19081908, 0x082b0808, 0x19081908, 0x082b082b, 0x19081908, - 0x082b1919, 0x19081908, 0x082b2b08, 0x19081908, 0x19080819, 0x19081908, 0x19081908, 0x19081908, - 0x1908192b, 0x19081908, 0x19082b19, 0x19081908, 0x19190808, 0x19081908, 0x1919082b, 0x19081908, - 0x19191919, 0x19081908, 0x19192b08, 0x19081908, 0x192b0819, 0x19081908, 0x192b1908, 0x19081908, - 0x2b080808, 0x19081908, 0x2b08082b, 0x19081908, 0x2b081919, 0x19081908, 0x2b082b08, 0x19081908, - 0x2b190819, 0x19081908, 0x2b191908, 0x19081908, 0x2b2b0808, 0x19081908, 0x08080819, 0x19081919, - 0x08081908, 0x19081919, 0x0808192b, 0x19081919, 0x08082b19, 0x19081919, 0x08190808, 0x19081919, - 0x0819082b, 0x19081919, 0x08191919, 0x19081919, 0x08192b08, 0x19081919, 0x082b0819, 0x19081919, - 0x082b1908, 0x19081919, 0x19080808, 0x19081919, 0x1908082b, 0x19081919, 0x19081919, 0x19081919, - 0x19082b08, 0x19081919, 0x19190819, 0x19081919, 0x19191908, 0x19081919, 0x192b0808, 0x19081919, - 0x192b2b2b, 0x19081919, 0x2b080819, 0x19081919, 0x2b081908, 0x19081919, 0x2b190808, 0x19081919, - 0x08080808, 0x1908192b, 0x0808082b, 0x1908192b, 0x08081919, 0x1908192b, 0x08082b08, 0x1908192b, - 0x08190819, 0x1908192b, 0x08191908, 0x1908192b, 0x082b0808, 0x1908192b, 0x19080819, 0x1908192b, - 0x19081908, 0x1908192b, 0x19190808, 0x1908192b, 0x2b080808, 0x1908192b, 0x2b2b1919, 0x1908192b, - 0x08080819, 0x19082b08, 0x08081908, 0x19082b08, 0x08082b19, 0x19082b08, 0x08190808, 0x19082b08, - 0x0819082b, 0x19082b08, 0x08191919, 0x19082b08, 0x08192b08, 0x19082b08, 0x082b0819, 0x19082b08, - 0x082b1908, 0x19082b08, 0x19080808, 0x19082b08, 0x1908082b, 0x19082b08, 0x19081919, 0x19082b08, - 0x19082b08, 0x19082b08, 0x19190819, 0x19082b08, 0x19191908, 0x19082b08, 0x192b0808, 0x19082b08, - 0x2b081908, 0x19082b08, 0x2b190808, 0x19082b08, 0x08080808, 0x19082b19, 0x0808082b, 0x19082b19, - 0x08081919, 0x19082b19, 0x08082b08, 0x19082b19, 0x08190819, 0x19082b19, 0x08191908, 0x19082b19, - 0x082b0808, 0x19082b19, 0x19080819, 0x19082b19, 0x19081908, 0x19082b19, 0x19190808, 0x19082b19, - 0x2b080808, 0x19082b19, 0x2b19192b, 0x19082b19, 0x08080819, 0x19082b2b, 0x08081908, 0x19082b2b, - 0x08190808, 0x19082b2b, 0x19080808, 0x19082b2b, 0x08080808, 0x19190808, 0x0808082b, 0x19190808, - 0x08081919, 0x19190808, 0x08082b08, 0x19190808, 0x08190819, 0x19190808, 0x08191908, 0x19190808, - 0x0819192b, 0x19190808, 0x08192b19, 0x19190808, 0x082b0808, 0x19190808, 0x082b082b, 0x19190808, - 0x082b1919, 0x19190808, 0x082b2b08, 0x19190808, 0x19080819, 0x19190808, 0x19081908, 0x19190808, - 0x1908192b, 0x19190808, 0x19082b19, 0x19190808, 0x19190808, 0x19190808, 0x1919082b, 0x19190808, - 0x19191919, 0x19190808, 0x19192b08, 0x19190808, 0x192b0819, 0x19190808, 0x192b1908, 0x19190808, - 0x2b080808, 0x19190808, 0x2b08082b, 0x19190808, 0x2b081919, 0x19190808, 0x2b082b08, 0x19190808, - 0x2b190819, 0x19190808, 0x2b191908, 0x19190808, 0x08080819, 0x19190819, 0x08081908, 0x19190819, - 0x0808192b, 0x19190819, 0x08082b19, 0x19190819, 0x08190808, 0x19190819, 0x0819082b, 0x19190819, - 0x08191919, 0x19190819, 0x08192b08, 0x19190819, 0x082b0819, 0x19190819, 0x082b1908, 0x19190819, - 0x19080808, 0x19190819, 0x1908082b, 0x19190819, 0x19081919, 0x19190819, 0x19082b08, 0x19190819, - 0x19190819, 0x19190819, 0x19191908, 0x19190819, 0x192b0808, 0x19190819, 0x2b080819, 0x19190819, - 0x2b081908, 0x19190819, 0x2b190808, 0x19190819, 0x08080808, 0x1919082b, 0x08081919, 0x1919082b, - 0x08082b08, 0x1919082b, 0x08190819, 0x1919082b, 0x08191908, 0x1919082b, 0x082b0808, 0x1919082b, - 0x19080819, 0x1919082b, 0x19081908, 0x1919082b, 0x19190808, 0x1919082b, 0x192b2b19, 0x1919082b, - 0x2b080808, 0x1919082b, 0x08080819, 0x19191908, 0x08081908, 0x19191908, 0x0808192b, 0x19191908, - 0x08082b19, 0x19191908, 0x08190808, 0x19191908, 0x0819082b, 0x19191908, 0x08191919, 0x19191908, - 0x08192b08, 0x19191908, 0x082b0819, 0x19191908, 0x082b1908, 0x19191908, 0x19080808, 0x19191908, - 0x1908082b, 0x19191908, 0x19081919, 0x19191908, 0x19082b08, 0x19191908, 0x19190819, 0x19191908, - 0x19191908, 0x19191908, 0x192b0808, 0x19191908, 0x2b080819, 0x19191908, 0x2b081908, 0x19191908, - 0x2b190808, 0x19191908, 0x08080808, 0x19191919, 0x0808082b, 0x19191919, 0x08081919, 0x19191919, - 0x08082b08, 0x19191919, 0x08190819, 0x19191919, 0x08191908, 0x19191919, 0x082b0808, 0x19191919, - 0x19080819, 0x19191919, 0x19081908, 0x19191919, 0x19190808, 0x19191919, 0x2b080808, 0x19191919, - 0x08080819, 0x1919192b, 0x08081908, 0x1919192b, 0x08190808, 0x1919192b, 0x082b192b, 0x1919192b, - 0x19080808, 0x1919192b, 0x08080808, 0x19192b08, 0x0808082b, 0x19192b08, 0x08081919, 0x19192b08, - 0x08082b08, 0x19192b08, 0x08190819, 0x19192b08, 0x08191908, 0x19192b08, 0x082b0808, 0x19192b08, - 0x19080819, 0x19192b08, 0x19081908, 0x19192b08, 0x19190808, 0x19192b08, 0x19192b2b, 0x19192b08, - 0x2b080808, 0x19192b08, 0x08080819, 0x19192b19, 0x08081908, 0x19192b19, 0x08190808, 0x19192b19, - 0x19080808, 0x19192b19, 0x08080808, 0x19192b2b, 0x08192b19, 0x19192b2b, 0x2b081919, 0x19192b2b, - 0x2b2b2b08, 0x19192b2b, 0x08080819, 0x192b0808, 0x08081908, 0x192b0808, 0x0808192b, 0x192b0808, - 0x08190808, 0x192b0808, 0x0819082b, 0x192b0808, 0x08191919, 0x192b0808, 0x08192b08, 0x192b0808, - 0x082b0819, 0x192b0808, 0x082b1908, 0x192b0808, 0x19080808, 0x192b0808, 0x19081919, 0x192b0808, - 0x19082b08, 0x192b0808, 0x19190819, 0x192b0808, 0x19191908, 0x192b0808, 0x192b0808, 0x192b0808, - 0x2b081908, 0x192b0808, 0x2b190808, 0x192b0808, 0x08080808, 0x192b0819, 0x0808082b, 0x192b0819, - 0x08081919, 0x192b0819, 0x08082b08, 0x192b0819, 0x08190819, 0x192b0819, 0x08191908, 0x192b0819, - 0x082b0808, 0x192b0819, 0x19080819, 0x192b0819, 0x19081908, 0x192b0819, 0x19190808, 0x192b0819, - 0x2b080808, 0x192b0819, 0x2b192b19, 0x192b0819, 0x08081908, 0x192b082b, 0x08190808, 0x192b082b, - 0x19080808, 0x192b082b, 0x1919192b, 0x192b082b, 0x2b2b0819, 0x192b082b, 0x08080808, 0x192b1908, - 0x08081919, 0x192b1908, 0x08082b08, 0x192b1908, 0x08190819, 0x192b1908, 0x08191908, 0x192b1908, - 0x082b0808, 0x192b1908, 0x19080819, 0x192b1908, 0x19081908, 0x192b1908, 0x19190808, 0x192b1908, - 0x2b080808, 0x192b1908, 0x08080819, 0x192b1919, 0x08081908, 0x192b1919, 0x08190808, 0x192b1919, - 0x19080808, 0x192b1919, 0x19082b2b, 0x192b1919, 0x192b2b08, 0x192b1919, 0x2b19082b, 0x192b1919, - 0x08080808, 0x192b192b, 0x2b191908, 0x192b192b, 0x08080819, 0x192b2b08, 0x08081908, 0x192b2b08, - 0x08190808, 0x192b2b08, 0x192b1919, 0x192b2b08, 0x2b192b08, 0x192b2b08, 0x08080808, 0x192b2b19, - 0x082b2b2b, 0x192b2b19, 0x1908082b, 0x192b2b2b, 0x2b2b0819, 0x192b2b2b, 0x08080808, 0x2b080808, - 0x0808082b, 0x2b080808, 0x08081919, 0x2b080808, 0x08082b08, 0x2b080808, 0x08190819, 0x2b080808, - 0x08191908, 0x2b080808, 0x08192b19, 0x2b080808, 0x082b0808, 0x2b080808, 0x082b1919, 0x2b080808, - 0x19080819, 0x2b080808, 0x19081908, 0x2b080808, 0x19190808, 0x2b080808, 0x1919082b, 0x2b080808, - 0x19191919, 0x2b080808, 0x19192b08, 0x2b080808, 0x192b0819, 0x2b080808, 0x2b080808, 0x2b080808, - 0x2b081919, 0x2b080808, 0x2b190819, 0x2b080808, 0x2b191908, 0x2b080808, 0x08080819, 0x2b080819, - 0x08081908, 0x2b080819, 0x08082b19, 0x2b080819, 0x08190808, 0x2b080819, 0x0819082b, 0x2b080819, - 0x08191919, 0x2b080819, 0x08192b08, 0x2b080819, 0x082b0819, 0x2b080819, 0x082b1908, 0x2b080819, - 0x19080808, 0x2b080819, 0x1908082b, 0x2b080819, 0x19081919, 0x2b080819, 0x19082b08, 0x2b080819, - 0x19190819, 0x2b080819, 0x19191908, 0x2b080819, 0x2b080819, 0x2b080819, 0x2b081908, 0x2b080819, - 0x2b190808, 0x2b080819, 0x2b2b2b19, 0x2b080819, 0x08080808, 0x2b08082b, 0x08081919, 0x2b08082b, - 0x08082b2b, 0x2b08082b, 0x08190819, 0x2b08082b, 0x08191908, 0x2b08082b, 0x19080819, 0x2b08082b, - 0x19081908, 0x2b08082b, 0x19190808, 0x2b08082b, 0x08080819, 0x2b081908, 0x08081908, 0x2b081908, - 0x0808192b, 0x2b081908, 0x08082b19, 0x2b081908, 0x08190808, 0x2b081908, 0x0819082b, 0x2b081908, - 0x08191919, 0x2b081908, 0x08192b08, 0x2b081908, 0x082b0819, 0x2b081908, 0x19080808, 0x2b081908, - 0x1908082b, 0x2b081908, 0x19081919, 0x2b081908, 0x19082b08, 0x2b081908, 0x19190819, 0x2b081908, - 0x19191908, 0x2b081908, 0x192b0808, 0x2b081908, 0x2b080819, 0x2b081908, 0x2b081908, 0x2b081908, - 0x2b190808, 0x2b081908, 0x08080808, 0x2b081919, 0x0808082b, 0x2b081919, 0x08081919, 0x2b081919, - 0x08082b08, 0x2b081919, 0x08190819, 0x2b081919, 0x08191908, 0x2b081919, 0x082b0808, 0x2b081919, - 0x19080819, 0x2b081919, 0x19081908, 0x2b081919, 0x19190808, 0x2b081919, 0x2b080808, 0x2b081919, - 0x2b082b2b, 0x2b081919, 0x08080819, 0x2b08192b, 0x08081908, 0x2b08192b, 0x08190808, 0x2b08192b, - 0x082b2b19, 0x2b08192b, 0x19080808, 0x2b08192b, 0x08080808, 0x2b082b08, 0x08081919, 0x2b082b08, - 0x08190819, 0x2b082b08, 0x08191908, 0x2b082b08, 0x19080819, 0x2b082b08, 0x19081908, 0x2b082b08, - 0x19190808, 0x2b082b08, 0x2b2b082b, 0x2b082b08, 0x08080819, 0x2b082b19, 0x08081908, 0x2b082b19, - 0x19080808, 0x2b082b19, 0x192b1919, 0x2b082b19, 0x082b082b, 0x2b082b2b, 0x19192b08, 0x2b082b2b, - 0x19192b2b, 0x2b082b2b, 0x2b08082b, 0x2b082b2b, 0x2b2b082b, 0x2b082b2b, 0x08080819, 0x2b190808, - 0x08081908, 0x2b190808, 0x08082b19, 0x2b190808, 0x08190808, 0x2b190808, 0x0819082b, 0x2b190808, - 0x08191919, 0x2b190808, 0x08192b08, 0x2b190808, 0x082b1908, 0x2b190808, 0x19080808, 0x2b190808, - 0x1908082b, 0x2b190808, 0x19081919, 0x2b190808, 0x19082b08, 0x2b190808, 0x19190819, 0x2b190808, - 0x19191908, 0x2b190808, 0x192b0808, 0x2b190808, 0x2b080819, 0x2b190808, 0x2b081908, 0x2b190808, - 0x2b190808, 0x2b190808, 0x08080808, 0x2b190819, 0x08081919, 0x2b190819, 0x08190819, 0x2b190819, - 0x08191908, 0x2b190819, 0x19080819, 0x2b190819, 0x19081908, 0x2b190819, 0x19190808, 0x2b190819, - 0x19192b2b, 0x2b190819, 0x08080819, 0x2b19082b, 0x08081908, 0x2b19082b, 0x08190808, 0x2b19082b, - 0x19080808, 0x2b19082b, 0x2b2b192b, 0x2b19082b, 0x08080808, 0x2b191908, 0x0808082b, 0x2b191908, - 0x08081919, 0x2b191908, 0x08082b08, 0x2b191908, 0x08190819, 0x2b191908, 0x08191908, 0x2b191908, - 0x082b0808, 0x2b191908, 0x19080819, 0x2b191908, 0x19081908, 0x2b191908, 0x19190808, 0x2b191908, - 0x2b080808, 0x2b191908, 0x2b19192b, 0x2b191908, 0x08080819, 0x2b191919, 0x08081908, 0x2b191919, - 0x08190808, 0x2b191919, 0x19080808, 0x2b191919, 0x2b192b08, 0x2b191919, 0x2b2b0819, 0x2b191919, - 0x08080808, 0x2b19192b, 0x1908192b, 0x2b19192b, 0x192b1908, 0x2b19192b, 0x08080819, 0x2b192b08, - 0x08081908, 0x2b192b08, 0x08190808, 0x2b192b08, 0x082b192b, 0x2b192b08, 0x19080808, 0x2b192b08, - 0x2b2b2b19, 0x2b192b08, 0x08080808, 0x2b192b19, 0x19082b19, 0x2b192b19, 0x1919082b, 0x2b192b19, - 0x2b190808, 0x2b192b2b, 0x08080808, 0x2b2b0808, 0x08081919, 0x2b2b0808, 0x08082b2b, 0x2b2b0808, - 0x08191908, 0x2b2b0808, 0x082b082b, 0x2b2b0808, 0x082b2b2b, 0x2b2b0808, 0x19080819, 0x2b2b0808, - 0x19081908, 0x2b2b0808, 0x19190808, 0x2b2b0808, 0x2b2b082b, 0x2b2b0808, 0x2b2b2b2b, 0x2b2b0808, - 0x19080808, 0x2b2b0819, 0x192b1919, 0x2b2b0819, 0x0808082b, 0x2b2b082b, 0x08082b2b, 0x2b2b082b, - 0x082b082b, 0x2b2b082b, 0x082b2b08, 0x2b2b082b, 0x082b2b2b, 0x2b2b082b, 0x2b08082b, 0x2b2b082b, - 0x2b082b08, 0x2b2b082b, 0x2b082b2b, 0x2b2b082b, 0x2b2b2b08, 0x2b2b082b, 0x08080819, 0x2b2b1908, - 0x08081908, 0x2b2b1908, 0x08190808, 0x2b2b1908, 0x19080808, 0x2b2b1908, 0x2b082b19, 0x2b2b1908, - 0x2b2b1908, 0x2b2b1908, 0x08080808, 0x2b2b1919, 0x08192b19, 0x2b2b1919, 0x19190819, 0x2b2b192b, - 0x08082b2b, 0x2b2b2b08, 0x082b2b08, 0x2b2b2b08, 0x2b2b082b, 0x2b2b2b08, 0x19191908, 0x2b2b2b19, - 0x2b08192b, 0x2b2b2b19, 0x08082b08, 0x2b2b2b2b, 0x08082b2b, 0x2b2b2b2b, 0x082b0808, 0x2b2b2b2b, - 0x082b082b, 0x2b2b2b2b, 0x082b2b08, 0x2b2b2b2b, 0x2b082b08, 0x2b2b2b2b, 0x2b2b2b2b, 0x2b2b2b2b -); - -struct iq2_s { - d: f16, - qs: array, - qh: array, - scales: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -1236,47 +639,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(IQ2_S) #decl(IQ3_XSS) - -const iq3xxs_grid = array( - 0x04040404, 0x04040414, 0x04040424, 0x04040c0c, 0x04040c1c, 0x04040c3e, 0x04041404, 0x04041414, - 0x04041c0c, 0x04042414, 0x04043e1c, 0x04043e2c, 0x040c040c, 0x040c041c, 0x040c0c04, 0x040c0c14, - 0x040c140c, 0x040c142c, 0x040c1c04, 0x040c1c14, 0x040c240c, 0x040c2c24, 0x040c3e04, 0x04140404, - 0x04140414, 0x04140424, 0x04140c0c, 0x04141404, 0x04141414, 0x04141c0c, 0x04141c1c, 0x04141c3e, - 0x04142c0c, 0x04142c3e, 0x04143e2c, 0x041c040c, 0x041c043e, 0x041c0c04, 0x041c0c14, 0x041c142c, - 0x041c3e04, 0x04240c1c, 0x04241c3e, 0x04242424, 0x04242c3e, 0x04243e1c, 0x04243e2c, 0x042c040c, - 0x042c043e, 0x042c1c14, 0x042c2c14, 0x04341c2c, 0x04343424, 0x043e0c04, 0x043e0c24, 0x043e0c34, - 0x043e241c, 0x043e340c, 0x0c04040c, 0x0c04041c, 0x0c040c04, 0x0c040c14, 0x0c04140c, 0x0c04141c, - 0x0c041c04, 0x0c041c14, 0x0c041c24, 0x0c04243e, 0x0c042c04, 0x0c0c0404, 0x0c0c0414, 0x0c0c0c0c, - 0x0c0c1404, 0x0c0c1414, 0x0c14040c, 0x0c14041c, 0x0c140c04, 0x0c140c14, 0x0c14140c, 0x0c141c04, - 0x0c143e14, 0x0c1c0404, 0x0c1c0414, 0x0c1c1404, 0x0c1c1c0c, 0x0c1c2434, 0x0c1c3434, 0x0c24040c, - 0x0c24042c, 0x0c242c04, 0x0c2c1404, 0x0c2c1424, 0x0c2c2434, 0x0c2c3e0c, 0x0c34042c, 0x0c3e1414, - 0x0c3e2404, 0x14040404, 0x14040414, 0x14040c0c, 0x14040c1c, 0x14041404, 0x14041414, 0x14041434, - 0x14041c0c, 0x14042414, 0x140c040c, 0x140c041c, 0x140c042c, 0x140c0c04, 0x140c0c14, 0x140c140c, - 0x140c1c04, 0x140c341c, 0x140c343e, 0x140c3e04, 0x14140404, 0x14140414, 0x14140c0c, 0x14140c3e, - 0x14141404, 0x14141414, 0x14141c3e, 0x14142404, 0x14142c2c, 0x141c040c, 0x141c0c04, 0x141c0c24, - 0x141c3e04, 0x141c3e24, 0x14241c2c, 0x14242c1c, 0x142c041c, 0x142c143e, 0x142c240c, 0x142c3e24, - 0x143e040c, 0x143e041c, 0x143e0c34, 0x143e242c, 0x1c04040c, 0x1c040c04, 0x1c040c14, 0x1c04140c, - 0x1c04141c, 0x1c042c04, 0x1c04342c, 0x1c043e14, 0x1c0c0404, 0x1c0c0414, 0x1c0c1404, 0x1c0c1c0c, - 0x1c0c2424, 0x1c0c2434, 0x1c14040c, 0x1c14041c, 0x1c140c04, 0x1c14142c, 0x1c142c14, 0x1c143e14, - 0x1c1c0c0c, 0x1c1c1c1c, 0x1c241c04, 0x1c24243e, 0x1c243e14, 0x1c2c0404, 0x1c2c0434, 0x1c2c1414, - 0x1c2c2c2c, 0x1c340c24, 0x1c341c34, 0x1c34341c, 0x1c3e1c1c, 0x1c3e3404, 0x24040424, 0x24040c3e, - 0x24041c2c, 0x24041c3e, 0x24042c1c, 0x24042c3e, 0x240c3e24, 0x24141404, 0x24141c3e, 0x24142404, - 0x24143404, 0x24143434, 0x241c043e, 0x241c242c, 0x24240424, 0x24242c0c, 0x24243424, 0x242c142c, - 0x242c241c, 0x242c3e04, 0x243e042c, 0x243e0c04, 0x243e0c14, 0x243e1c04, 0x2c040c14, 0x2c04240c, - 0x2c043e04, 0x2c0c0404, 0x2c0c0434, 0x2c0c1434, 0x2c0c2c2c, 0x2c140c24, 0x2c141c14, 0x2c143e14, - 0x2c1c0414, 0x2c1c2c1c, 0x2c240c04, 0x2c24141c, 0x2c24143e, 0x2c243e14, 0x2c2c0414, 0x2c2c1c0c, - 0x2c342c04, 0x2c3e1424, 0x2c3e2414, 0x34041424, 0x34042424, 0x34042434, 0x34043424, 0x340c140c, - 0x340c340c, 0x34140c3e, 0x34143424, 0x341c1c04, 0x341c1c34, 0x34242424, 0x342c042c, 0x342c2c14, - 0x34341c1c, 0x343e041c, 0x343e140c, 0x3e04041c, 0x3e04042c, 0x3e04043e, 0x3e040c04, 0x3e041c14, - 0x3e042c14, 0x3e0c1434, 0x3e0c2404, 0x3e140c14, 0x3e14242c, 0x3e142c14, 0x3e1c0404, 0x3e1c0c2c, - 0x3e1c1c1c, 0x3e1c3404, 0x3e24140c, 0x3e24240c, 0x3e2c0404, 0x3e2c0414, 0x3e2c1424, 0x3e341c04 -); - -struct iq3_xxs { - d: f16, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -1309,82 +671,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(IQ3_XSS) #decl(IQ3_S) - -const iq3s_grid = array( - 0x01010101, 0x01010103, 0x01010105, 0x0101010b, 0x0101010f, 0x01010301, 0x01010303, 0x01010305, - 0x01010309, 0x0101030d, 0x01010501, 0x01010503, 0x0101050b, 0x01010707, 0x01010901, 0x01010905, - 0x0101090b, 0x0101090f, 0x01010b03, 0x01010b07, 0x01010d01, 0x01010d05, 0x01010f03, 0x01010f09, - 0x01010f0f, 0x01030101, 0x01030103, 0x01030105, 0x01030109, 0x01030301, 0x01030303, 0x0103030b, - 0x01030501, 0x01030507, 0x0103050f, 0x01030703, 0x0103070b, 0x01030909, 0x01030d03, 0x01030d0b, - 0x01030f05, 0x01050101, 0x01050103, 0x0105010b, 0x0105010f, 0x01050301, 0x01050307, 0x0105030d, - 0x01050503, 0x0105050b, 0x01050701, 0x01050709, 0x01050905, 0x0105090b, 0x0105090f, 0x01050b03, - 0x01050b07, 0x01050f01, 0x01050f07, 0x01070107, 0x01070303, 0x0107030b, 0x01070501, 0x01070505, - 0x01070703, 0x01070707, 0x0107070d, 0x01070909, 0x01070b01, 0x01070b05, 0x01070d0f, 0x01070f03, - 0x01070f0b, 0x01090101, 0x01090307, 0x0109030f, 0x01090503, 0x01090509, 0x01090705, 0x01090901, - 0x01090907, 0x01090b03, 0x01090f01, 0x010b0105, 0x010b0109, 0x010b0501, 0x010b0505, 0x010b050d, - 0x010b0707, 0x010b0903, 0x010b090b, 0x010b090f, 0x010b0d0d, 0x010b0f07, 0x010d010d, 0x010d0303, - 0x010d0307, 0x010d0703, 0x010d0b05, 0x010d0f03, 0x010f0101, 0x010f0105, 0x010f0109, 0x010f0501, - 0x010f0505, 0x010f050d, 0x010f0707, 0x010f0b01, 0x010f0b09, 0x03010101, 0x03010103, 0x03010105, - 0x03010109, 0x03010301, 0x03010303, 0x03010307, 0x0301030b, 0x0301030f, 0x03010501, 0x03010505, - 0x03010703, 0x03010709, 0x0301070d, 0x03010b09, 0x03010b0d, 0x03010d03, 0x03010f05, 0x03030101, - 0x03030103, 0x03030107, 0x0303010d, 0x03030301, 0x03030309, 0x03030503, 0x03030701, 0x03030707, - 0x03030903, 0x03030b01, 0x03030b05, 0x03030f01, 0x03030f0d, 0x03050101, 0x03050305, 0x0305030b, - 0x0305030f, 0x03050501, 0x03050509, 0x03050705, 0x03050901, 0x03050907, 0x03050b0b, 0x03050d01, - 0x03050f05, 0x03070103, 0x03070109, 0x0307010f, 0x03070301, 0x03070307, 0x03070503, 0x0307050f, - 0x03070701, 0x03070709, 0x03070903, 0x03070d05, 0x03070f01, 0x03090107, 0x0309010b, 0x03090305, - 0x03090309, 0x03090703, 0x03090707, 0x03090905, 0x0309090d, 0x03090b01, 0x03090b09, 0x030b0103, - 0x030b0301, 0x030b0307, 0x030b0503, 0x030b0701, 0x030b0705, 0x030b0b03, 0x030d0501, 0x030d0509, - 0x030d050f, 0x030d0909, 0x030d090d, 0x030f0103, 0x030f0107, 0x030f0301, 0x030f0305, 0x030f0503, - 0x030f070b, 0x030f0903, 0x030f0d05, 0x030f0f01, 0x05010101, 0x05010103, 0x05010107, 0x0501010b, - 0x0501010f, 0x05010301, 0x05010305, 0x05010309, 0x0501030d, 0x05010503, 0x05010507, 0x0501050f, - 0x05010701, 0x05010705, 0x05010903, 0x05010907, 0x0501090b, 0x05010b01, 0x05010b05, 0x05010d0f, - 0x05010f01, 0x05010f07, 0x05010f0b, 0x05030101, 0x05030105, 0x05030301, 0x05030307, 0x0503030f, - 0x05030505, 0x0503050b, 0x05030703, 0x05030709, 0x05030905, 0x05030b03, 0x05050103, 0x05050109, - 0x0505010f, 0x05050503, 0x05050507, 0x05050701, 0x0505070f, 0x05050903, 0x05050b07, 0x05050b0f, - 0x05050f03, 0x05050f09, 0x05070101, 0x05070105, 0x0507010b, 0x05070303, 0x05070505, 0x05070509, - 0x05070703, 0x05070707, 0x05070905, 0x05070b01, 0x05070d0d, 0x05090103, 0x0509010f, 0x05090501, - 0x05090507, 0x05090705, 0x0509070b, 0x05090903, 0x05090f05, 0x05090f0b, 0x050b0109, 0x050b0303, - 0x050b0505, 0x050b070f, 0x050b0901, 0x050b0b07, 0x050b0f01, 0x050d0101, 0x050d0105, 0x050d010f, - 0x050d0503, 0x050d0b0b, 0x050d0d03, 0x050f010b, 0x050f0303, 0x050f050d, 0x050f0701, 0x050f0907, - 0x050f0b01, 0x07010105, 0x07010303, 0x07010307, 0x0701030b, 0x0701030f, 0x07010505, 0x07010703, - 0x07010707, 0x0701070b, 0x07010905, 0x07010909, 0x0701090f, 0x07010b03, 0x07010d07, 0x07010f03, - 0x07030103, 0x07030107, 0x0703010b, 0x07030309, 0x07030503, 0x07030507, 0x07030901, 0x07030d01, - 0x07030f05, 0x07030f0d, 0x07050101, 0x07050305, 0x07050501, 0x07050705, 0x07050709, 0x07050b01, - 0x07070103, 0x07070301, 0x07070309, 0x07070503, 0x07070507, 0x0707050f, 0x07070701, 0x07070903, - 0x07070907, 0x0707090f, 0x07070b0b, 0x07070f07, 0x07090107, 0x07090303, 0x0709030d, 0x07090505, - 0x07090703, 0x07090b05, 0x07090d01, 0x07090d09, 0x070b0103, 0x070b0301, 0x070b0305, 0x070b050b, - 0x070b0705, 0x070b0909, 0x070b0b0d, 0x070b0f07, 0x070d030d, 0x070d0903, 0x070f0103, 0x070f0107, - 0x070f0501, 0x070f0505, 0x070f070b, 0x09010101, 0x09010109, 0x09010305, 0x09010501, 0x09010509, - 0x0901050f, 0x09010705, 0x09010903, 0x09010b01, 0x09010f01, 0x09030105, 0x0903010f, 0x09030303, - 0x09030307, 0x09030505, 0x09030701, 0x0903070b, 0x09030907, 0x09030b03, 0x09030b0b, 0x09050103, - 0x09050107, 0x09050301, 0x0905030b, 0x09050503, 0x09050707, 0x09050901, 0x09050b0f, 0x09050d05, - 0x09050f01, 0x09070109, 0x09070303, 0x09070307, 0x09070501, 0x09070505, 0x09070703, 0x0907070b, - 0x09090101, 0x09090105, 0x09090509, 0x0909070f, 0x09090901, 0x09090f03, 0x090b010b, 0x090b010f, - 0x090b0503, 0x090b0d05, 0x090d0307, 0x090d0709, 0x090d0d01, 0x090f0301, 0x090f030b, 0x090f0701, - 0x090f0907, 0x090f0b03, 0x0b010105, 0x0b010301, 0x0b010309, 0x0b010505, 0x0b010901, 0x0b010909, - 0x0b01090f, 0x0b010b05, 0x0b010d0d, 0x0b010f09, 0x0b030103, 0x0b030107, 0x0b03010b, 0x0b030305, - 0x0b030503, 0x0b030705, 0x0b030f05, 0x0b050101, 0x0b050303, 0x0b050507, 0x0b050701, 0x0b05070d, - 0x0b050b07, 0x0b070105, 0x0b07010f, 0x0b070301, 0x0b07050f, 0x0b070909, 0x0b070b03, 0x0b070d0b, - 0x0b070f07, 0x0b090103, 0x0b090109, 0x0b090501, 0x0b090705, 0x0b09090d, 0x0b0b0305, 0x0b0b050d, - 0x0b0b0b03, 0x0b0b0b07, 0x0b0d0905, 0x0b0f0105, 0x0b0f0109, 0x0b0f0505, 0x0d010303, 0x0d010307, - 0x0d01030b, 0x0d010703, 0x0d010707, 0x0d010d01, 0x0d030101, 0x0d030501, 0x0d03050f, 0x0d030d09, - 0x0d050305, 0x0d050709, 0x0d050905, 0x0d050b0b, 0x0d050d05, 0x0d050f01, 0x0d070101, 0x0d070309, - 0x0d070503, 0x0d070901, 0x0d09050b, 0x0d090907, 0x0d090d05, 0x0d0b0101, 0x0d0b0107, 0x0d0b0709, - 0x0d0b0d01, 0x0d0d010b, 0x0d0d0901, 0x0d0f0303, 0x0d0f0307, 0x0f010101, 0x0f010109, 0x0f01010f, - 0x0f010501, 0x0f010505, 0x0f01070d, 0x0f010901, 0x0f010b09, 0x0f010d05, 0x0f030105, 0x0f030303, - 0x0f030509, 0x0f030907, 0x0f03090b, 0x0f050103, 0x0f050109, 0x0f050301, 0x0f05030d, 0x0f050503, - 0x0f050701, 0x0f050b03, 0x0f070105, 0x0f070705, 0x0f07070b, 0x0f070b07, 0x0f090103, 0x0f09010b, - 0x0f090307, 0x0f090501, 0x0f090b01, 0x0f0b0505, 0x0f0b0905, 0x0f0d0105, 0x0f0d0703, 0x0f0f0101 -); - -struct iq3_s { - d: f16, - qs: array, - qh: array, - signs: array, - scales: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -1431,151 +717,7 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { } #enddecl(IQ3_S) -#decl(IQ1_TABLE) - -const IQ1_DELTA: f32 = 0.125; - -const iq1_grid = array( - 0xfffdffff, 0xfff7fff0, 0xffccfff5, 0xffdfffc0, 0xffd7ffdd, 0xff30ffd5, 0xff03ff0c, 0xff10ff01, - 0xff7dff7f, 0xff75ff77, 0xff5fff40, 0xff57ff5d, 0xfcf3ff55, 0xfcccfcf0, 0xfcc1fcc3, 0xfcc5fcc4, - 0xfc3cfcd0, 0xfc34fc31, 0xfc00fc0d, 0xfc1cfc05, 0xfc11fc13, 0xfc70fc17, 0xfc43fc4c, 0xfc50fc41, - 0xfdfdfdff, 0xfdf5fdf7, 0xfddffdc0, 0xfdd7fddd, 0xfd30fdd5, 0xfd04fd0c, 0xfd14fd13, 0xfd7dfd7f, - 0xfd75fd77, 0xfd40fd4c, 0xfd5ffd44, 0xfd57fd5d, 0xf3ccfd55, 0xf3c1f3c3, 0xf33cf3d0, 0xf300f334, - 0xf313f305, 0xf34cf310, 0xf350f344, 0xf0f3f0fc, 0xf0f1f0f0, 0xf0c7f0c0, 0xf0d4f0c5, 0xf030f03f, - 0xf00ff035, 0xf003f00c, 0xf001f000, 0xf01ff004, 0xf010f01d, 0xf015f017, 0xf04cf07c, 0xf047f040, - 0xf05cf045, 0xf050f053, 0xf054f051, 0xf1c4f1c3, 0xf133f13c, 0xf10df10f, 0xf107f100, 0xf11cf11f, - 0xf114f111, 0xf14cf170, 0xf144f143, 0xf7fdf7ff, 0xf7f5f7f7, 0xf7dff7c0, 0xf7d7f7dd, 0xf730f7d5, - 0xf701f70c, 0xf77ff710, 0xf777f77d, 0xf740f775, 0xf75df75f, 0xf755f757, 0xf4ccf4f0, 0xf4c4f4c3, - 0xf4d0f4d3, 0xf40ff43c, 0xf400f40c, 0xf413f41c, 0xf44cf414, 0xf441f443, 0xf450f444, 0xf5fdf5ff, - 0xf5f5f5f7, 0xf5dff5c0, 0xf5d7f5dd, 0xf530f5d5, 0xf504f50c, 0xf510f51c, 0xf57df57f, 0xf577f570, - 0xf540f575, 0xf55df55f, 0xf555f557, 0xcfcccfcf, 0xcfc4cfc3, 0xcfd0cfd3, 0xcf33cf3c, 0xcf00cf0f, - 0xcf1ccf07, 0xcf10cf13, 0xcf4ccf14, 0xcf41cf43, 0xcf50cf5c, 0xccf3ccfc, 0xccf4ccf1, 0xcccdcccf, - 0xccc7ccc0, 0xccd3ccdc, 0xcc30ccd4, 0xcc0fcc35, 0xcc0dcc0c, 0xcc00cc03, 0xcc04cc01, 0xcc10cc1f, - 0xcc4dcc73, 0xcc5ccc40, 0xcdcccc53, 0xcdc1cdc3, 0xcd3fcdd0, 0xcd34cd31, 0xcd00cd0d, 0xcd05cd07, - 0xcd11cd13, 0xcd4ccd70, 0xcd41cd43, 0xc3fccd50, 0xc3f4c3f1, 0xc3c0c3c3, 0xc3c4c3c7, 0xc3d1c3dc, - 0xc330c33c, 0xc337c331, 0xc30cc335, 0xc300c303, 0xc304c301, 0xc310c31d, 0xc373c317, 0xc34fc374, - 0xc340c343, 0xc344c347, 0xc35cc345, 0xc350c353, 0xc0fdc354, 0xc0f5c0f0, 0xc0c3c0cc, 0xc0c1c0c0, - 0xc0dfc0c4, 0xc0d0c0dd, 0xc0d5c0d7, 0xc033c03c, 0xc031c030, 0xc00dc00c, 0xc000c003, 0xc004c001, - 0xc01cc005, 0xc010c013, 0xc014c011, 0xc07dc07f, 0xc070c073, 0xc075c077, 0xc04cc04f, 0xc040c043, - 0xc044c041, 0xc05fc045, 0xc050c05d, 0xc1f3c1fc, 0xc1f1c1f0, 0xc1c1c1c0, 0xc1c5c1c7, 0xc1d1c1dc, - 0xc13dc13f, 0xc130c133, 0xc135c137, 0xc100c10c, 0xc107c101, 0xc11cc104, 0xc110c113, 0xc114c117, - 0xc171c115, 0xc14dc175, 0xc153c140, 0xc7ccc154, 0xc7d0c7c1, 0xc733c73c, 0xc734c731, 0xc700c70f, - 0xc705c707, 0xc71cc71f, 0xc711c713, 0xc770c714, 0xc743c74c, 0xc4cfc750, 0xc4c0c4cd, 0xc4dcc4c5, - 0xc43dc4d0, 0xc430c433, 0xc40cc437, 0xc400c403, 0xc404c401, 0xc41fc405, 0xc415c410, 0xc44cc474, - 0xc440c44d, 0xc45cc447, 0xc454c451, 0xc5c1c5f4, 0xc5d1c5d3, 0xc531c533, 0xc50fc534, 0xc500c50d, - 0xc51cc507, 0xc514c511, 0xc54cc570, 0xc545c541, 0xdffddfff, 0xdff5dff7, 0xdfdfdfc0, 0xdfd0dfdd, - 0xdfd5dfd7, 0xdf0cdf30, 0xdf1cdf04, 0xdf7fdf10, 0xdf77df7d, 0xdf40df75, 0xdf5ddf5f, 0xdf57df50, - 0xdcf0df55, 0xdcc3dccc, 0xdcd0dcc4, 0xdc33dc3d, 0xdc00dc34, 0xdc05dc07, 0xdc13dc1c, 0xdc11dc10, - 0xdc4fdc70, 0xdc44dc41, 0xddfcdc50, 0xddf5ddf7, 0xddc0ddcc, 0xdddddddf, 0xddd5ddd7, 0xdd0cdd30, - 0xdd04dd01, 0xdd7cdd10, 0xdd75dd77, 0xdd40dd4c, 0xdd5ddd5f, 0xdd55dd57, 0xd3c3d3f0, 0xd3c4d3c1, - 0xd333d3d0, 0xd331d330, 0xd30dd334, 0xd307d300, 0xd311d305, 0xd34cd370, 0xd344d343, 0xd350d35c, - 0xd0c0d0f4, 0xd0d4d0dc, 0xd030d03f, 0xd00cd037, 0xd000d003, 0xd01dd004, 0xd017d010, 0xd04fd074, - 0xd040d043, 0xd045d047, 0xd053d05c, 0xd054d051, 0xd1cfd1f0, 0xd1c4d1cd, 0xd13cd1d0, 0xd100d134, - 0xd11cd11f, 0xd173d114, 0xd14fd171, 0xd7ffd145, 0xd7f7d7fd, 0xd7c0d7f5, 0xd7ddd7df, 0xd7d5d7d7, - 0xd70cd730, 0xd710d703, 0xd77dd77f, 0xd775d777, 0xd75dd75f, 0xd755d757, 0xd4ccd4f4, 0xd4c4d4c3, - 0xd431d4d0, 0xd40dd434, 0xd41cd400, 0xd411d413, 0xd470d414, 0xd441d44f, 0xd453d444, 0xd5ffd450, - 0xd5f7d5fd, 0xd5dfd5f5, 0xd5d7d5dd, 0xd530d5d5, 0xd501d50c, 0xd510d504, 0xd57dd57f, 0xd575d577, - 0xd55fd540, 0xd557d55d, 0x3ff0d555, 0x3fc13fcc, 0x3f343fd0, 0x3f003f0d, 0x3f053f07, 0x3f133f1c, - 0x3f433f11, 0x3f5c3f44, 0x3cff3f51, 0x3cf33cfc, 0x3cf43cf1, 0x3cc03ccd, 0x3cc73cc1, 0x3cdc3cc5, - 0x3cd43cd1, 0x3c373c30, 0x3c0c3c35, 0x3c003c03, 0x3c043c01, 0x3c103c05, 0x3c153c17, 0x3c733c7c, - 0x3c4f3c71, 0x3c403c4d, 0x3c5c3c5f, 0x3df03c5d, 0x3dc33dcc, 0x3dd03dc1, 0x3d0d3d3c, 0x3d053d00, - 0x3d143d13, 0x3d433d74, 0x33fc3d50, 0x33c433c0, 0x333033d4, 0x33353337, 0x3303330c, 0x33013300, - 0x331d331c, 0x33173310, 0x337c3315, 0x33743371, 0x334d334f, 0x335f3340, 0x3354335c, 0x30fd30fc, - 0x30f530f0, 0x30c330cc, 0x30c130c0, 0x30df30c4, 0x30d530d0, 0x3033303c, 0x30313030, 0x300f3034, - 0x3003300c, 0x30013000, 0x30043007, 0x3013301c, 0x30113010, 0x307d3014, 0x30703073, 0x304c3077, - 0x30403043, 0x30443041, 0x30503045, 0x30553057, 0x31f031fc, 0x31c331f4, 0x31c731c0, 0x31dc31c5, - 0x31d431d3, 0x313d313f, 0x31373130, 0x310c310f, 0x3100310d, 0x31043101, 0x3110311d, 0x317c3117, - 0x31753170, 0x31403143, 0x3153315c, 0x37f03151, 0x37c037cc, 0x37d037c5, 0x3734373d, 0x3700370f, - 0x371c3707, 0x37113713, 0x37703714, 0x3743374c, 0x37443741, 0x34fc3750, 0x34f134f0, 0x34cf34f5, - 0x34c034c3, 0x34dc34c7, 0x34d134d3, 0x3430343f, 0x340c3435, 0x3403340d, 0x34013400, 0x341f3404, - 0x3410341d, 0x34153411, 0x34743471, 0x3440344d, 0x34473441, 0x3453345c, 0x34543451, 0x353335c1, - 0x35343531, 0x35073500, 0x35133505, 0x35433514, 0x0ffc3550, 0x0ff00ff3, 0x0ff40ff1, 0x0fc00fcd, - 0x0fdc0fc5, 0x0fd40fd3, 0x0f300f3f, 0x0f0c0f37, 0x0f000f03, 0x0f040f01, 0x0f170f10, 0x0f740f71, - 0x0f470f40, 0x0f5c0f5f, 0x0f540f51, 0x0cf70cf0, 0x0cf50cf4, 0x0cc30ccc, 0x0cc10cc0, 0x0cc40cc7, - 0x0cd00cdf, 0x0cd70cd1, 0x0c3c0cd5, 0x0c300c33, 0x0c340c31, 0x0c0c0c0f, 0x0c030c0d, 0x0c010c00, - 0x0c040c07, 0x0c1c0c05, 0x0c100c13, 0x0c140c11, 0x0c700c7d, 0x0c430c4c, 0x0c410c40, 0x0c5f0c44, - 0x0c550c50, 0x0df10dfc, 0x0dc00dcd, 0x0ddc0dc5, 0x0d3d0dd3, 0x0d350d30, 0x0d030d0c, 0x0d010d00, - 0x0d1d0d04, 0x0d700d10, 0x0d4d0d4f, 0x0d440d40, 0x0d530d45, 0x03f003f3, 0x03c303cc, 0x03c103c0, - 0x03c403c7, 0x03d003dc, 0x03d503d7, 0x0333033c, 0x03310330, 0x03350334, 0x030c030f, 0x03000303, - 0x03070301, 0x03050304, 0x031d031c, 0x03100313, 0x03140311, 0x0377037f, 0x034c0375, 0x03400343, - 0x03440341, 0x0353035c, 0x03550350, 0x00fd00fc, 0x00f000f3, 0x00f400f1, 0x00cc00cf, 0x00c300cd, - 0x00c100c0, 0x00c500c4, 0x00d300dc, 0x00d100d0, 0x003f00d4, 0x003d003c, 0x00300033, 0x00370031, - 0x000f0034, 0x000d000c, 0x00000003, 0x00070001, 0x00050004, 0x001c001f, 0x00100013, 0x00170011, - 0x00150014, 0x0073007c, 0x00740070, 0x004f0075, 0x0043004c, 0x00410040, 0x00440047, 0x0053005c, - 0x00510050, 0x01ff0054, 0x01fd01fc, 0x01f101f3, 0x01f401f7, 0x01c301cc, 0x01c701c0, 0x01df01c4, - 0x01dd01dc, 0x01d001d3, 0x01d701d1, 0x013c01d4, 0x01310130, 0x01340137, 0x010f0135, 0x010d010c, - 0x01000103, 0x01070101, 0x01050104, 0x0113011c, 0x01140110, 0x0170017d, 0x01770171, 0x01750174, - 0x0140014c, 0x015d0145, 0x01510150, 0x01540157, 0x07f007f3, 0x07f407f1, 0x07c007cf, 0x07dc07c7, - 0x073007d5, 0x07350737, 0x0703070c, 0x07010700, 0x07040707, 0x071d071f, 0x07100713, 0x0774077d, - 0x074d074f, 0x07470740, 0x0754075c, 0x04fd04fc, 0x04f504f0, 0x04c304cc, 0x04c104c0, 0x04d004c4, - 0x0433043c, 0x04310430, 0x040f0434, 0x040d040c, 0x04000403, 0x04070401, 0x04050404, 0x0413041c, - 0x04110410, 0x047c0414, 0x04740470, 0x0443044c, 0x04410440, 0x04440447, 0x05f30450, 0x05c005f7, - 0x05df05c5, 0x05d105d0, 0x053005d4, 0x05340537, 0x0500050c, 0x05070501, 0x051d0504, 0x05170510, - 0x057c0515, 0x054d0575, 0x05410540, 0x05450547, 0x1ff0055c, 0x1fc11fc3, 0x1fd01fc4, 0x1f0f1f33, - 0x1f011f00, 0x1f051f07, 0x1f131f1c, 0x1f141f11, 0x1f411f7c, 0x1cfc1f50, 0x1cf11cf3, 0x1ccd1cf4, - 0x1cdc1cc0, 0x1cd11cdd, 0x1c301cd4, 0x1c0c1c34, 0x1c011c00, 0x1c101c04, 0x1c151c11, 0x1c751c73, - 0x1c401c4d, 0x1c511c5c, 0x1dcc1c54, 0x1dc41dc1, 0x1d3c1d3f, 0x1d001d31, 0x1d071d01, 0x1d701d1f, - 0x1d411d4c, 0x13cc1d50, 0x13c013cd, 0x13c513c1, 0x13d113dc, 0x133f13d4, 0x1330133d, 0x13351337, - 0x1303130c, 0x13011300, 0x13051304, 0x131d131f, 0x13731310, 0x13741370, 0x134d134f, 0x13401343, - 0x13471341, 0x135c1345, 0x13541353, 0x10f710f0, 0x10cc10f5, 0x10c110c0, 0x103310c4, 0x10311030, - 0x100f1034, 0x1003100c, 0x10011000, 0x101c1004, 0x10101013, 0x10141011, 0x10741071, 0x104c1075, - 0x10411040, 0x10451044, 0x1050105d, 0x10571051, 0x11f411fd, 0x11df11c0, 0x11d711d1, 0x113f11d4, - 0x11371130, 0x110c1135, 0x11001103, 0x11071101, 0x111f1105, 0x11171110, 0x117d117f, 0x11751170, - 0x11411143, 0x11441147, 0x1153115f, 0x11551151, 0x17c417c1, 0x173c17d0, 0x1700170d, 0x171c1705, - 0x17701714, 0x1747174c, 0x14fc1751, 0x14cf14f3, 0x14dc14c0, 0x14d114d3, 0x143f14d4, 0x1430143c, - 0x14371431, 0x1403140c, 0x14011400, 0x141f1404, 0x14151410, 0x1473147d, 0x14401475, 0x1453145c, - 0x14541450, 0x15c115cc, 0x153c15c7, 0x15341533, 0x1500150f, 0x15051507, 0x15101513, 0x15711514, - 0x15471543, 0x15511545, 0x7ffd7fff, 0x7ff57ff7, 0x7fdd7fdf, 0x7fd57fd7, 0x7f0f7f30, 0x7f037f0c, - 0x7f047f01, 0x7f7f7f10, 0x7f777f7d, 0x7f407f75, 0x7f5d7f5f, 0x7f557f57, 0x7ccc7cf0, 0x7cc17cc3, - 0x7cd07cc4, 0x7c337c3c, 0x7c0f7c34, 0x7c007c0d, 0x7c077c01, 0x7c137c04, 0x7c147c11, 0x7c747c70, - 0x7c417c43, 0x7c507c44, 0x7dfd7dff, 0x7df57df7, 0x7ddf7dc0, 0x7dd77ddd, 0x7d0c7dd5, 0x7d047d03, - 0x7d7f7d10, 0x7d777d7d, 0x7d407d75, 0x7d5d7d5f, 0x7d557d57, 0x73c473c3, 0x7333733c, 0x7300730c, - 0x731c7305, 0x73147313, 0x73447343, 0x70f470fc, 0x70c070cd, 0x70d170c5, 0x703f70d4, 0x7030703c, - 0x700c7037, 0x70007003, 0x70047001, 0x70107005, 0x70177011, 0x707c7015, 0x70717073, 0x704f7074, - 0x7040704d, 0x70517047, 0x71c171cc, 0x71d071c4, 0x7133713c, 0x71357134, 0x7100710f, 0x71057104, - 0x7111711c, 0x71707115, 0x7145714c, 0x77ff7153, 0x77f777fd, 0x77c077f5, 0x77dd77df, 0x77d577d7, - 0x7730773c, 0x7703770c, 0x77107704, 0x777f7714, 0x7777777d, 0x77407775, 0x775d775f, 0x77557757, - 0x74f174f0, 0x74c374cc, 0x74d074c1, 0x7433743c, 0x74347431, 0x740d740f, 0x74057400, 0x7413741c, - 0x74417470, 0x74507444, 0x75fd75ff, 0x75f575f7, 0x75df75c0, 0x75d775dd, 0x753075d5, 0x7503750c, - 0x757f7501, 0x7577757d, 0x75407575, 0x755d755f, 0x75557557, 0x4fcc4ff0, 0x4fc74fc1, 0x4fd04fc4, - 0x4f314f3c, 0x4f004f34, 0x4f054f07, 0x4f154f14, 0x4f4c4f70, 0x4f414f43, 0x4f504f44, 0x4cf34cfc, - 0x4cf44cf1, 0x4cc04ccf, 0x4cc54cc7, 0x4cd34cdc, 0x4cd44cd1, 0x4c304c3f, 0x4c0c4c0f, 0x4c004c03, - 0x4c044c01, 0x4c104c1d, 0x4c714c73, 0x4c404c4d, 0x4c5c4c47, 0x4c514c53, 0x4df04c54, 0x4dc34dcc, - 0x4dd04dc4, 0x4d314d33, 0x4d0f4d34, 0x4d004d0d, 0x4d114d07, 0x4d704d14, 0x4d414d43, 0x43fc4d54, - 0x43f143f3, 0x43c043cf, 0x43d143c7, 0x4335433f, 0x4303430c, 0x43014300, 0x43044307, 0x431c431f, - 0x4310431d, 0x43714373, 0x4343434d, 0x43474340, 0x4354435c, 0x40f040ff, 0x40f540f7, 0x40cc40cf, - 0x40c040c3, 0x40c440c1, 0x40d040dc, 0x40d540d4, 0x4033403c, 0x40314030, 0x400f4034, 0x400d400c, - 0x40004003, 0x40074001, 0x40054004, 0x4013401c, 0x40114010, 0x407c4014, 0x40774070, 0x404d404c, - 0x40404043, 0x40444041, 0x405f4045, 0x4050405d, 0x40554057, 0x41f341fc, 0x41c041cf, 0x41df41c4, - 0x41d441d1, 0x41374130, 0x410c4134, 0x4100410d, 0x41044101, 0x41174110, 0x4173417d, 0x41754174, - 0x4143414d, 0x41534140, 0x41544151, 0x47c147f0, 0x47d047c4, 0x4731473c, 0x470d470f, 0x47014700, - 0x47134705, 0x47704710, 0x4741474c, 0x47504744, 0x44f144f3, 0x44cf44f4, 0x44c044cd, 0x44c544c7, - 0x44dc44df, 0x44d144d3, 0x443d443f, 0x44374430, 0x440c4435, 0x44004403, 0x44044401, 0x4410441d, - 0x44154411, 0x4473447c, 0x444d444f, 0x44454440, 0x4451445c, 0x45c045f0, 0x453345d0, 0x45344531, - 0x4500450f, 0x451c4507, 0x454c4570, 0x45404543, 0x5fff4541, 0x5ff75ffd, 0x5fc05ff5, 0x5fdd5fdf, - 0x5fd55fd7, 0x5f0c5f30, 0x5f015f03, 0x5f7f5f04, 0x5f775f7d, 0x5f405f75, 0x5f5d5f5f, 0x5f555f57, - 0x5cf45cf0, 0x5cc35ccc, 0x5cc45cc1, 0x5c315cc5, 0x5c0c5c34, 0x5c075c00, 0x5c1c5c05, 0x5c705c13, - 0x5c4d5c4f, 0x5c445c41, 0x5df75dfd, 0x5dcf5df5, 0x5ddd5dc4, 0x5dd55dd7, 0x5d0c5d30, 0x5d045d01, - 0x5d7f5d10, 0x5d775d7d, 0x5d405d75, 0x5d5d5d5f, 0x5d555d57, 0x53d053c4, 0x5333533c, 0x5303530f, - 0x53075300, 0x531c5305, 0x53115310, 0x53145317, 0x50f15370, 0x50cf50f4, 0x50c050cd, 0x50d150c7, - 0x503d50d4, 0x500c5030, 0x50005003, 0x50045001, 0x50155010, 0x5073507c, 0x50715070, 0x504d5074, - 0x50475040, 0x51cc51f0, 0x51c551c1, 0x51d051dc, 0x51315133, 0x510d5135, 0x51015100, 0x511f5107, - 0x5171511d, 0x5140514f, 0x51445141, 0x5153515c, 0x57ff5151, 0x57f757fd, 0x57df57f5, 0x57d757dd, - 0x570c57d5, 0x57015703, 0x577f5704, 0x5777577d, 0x57405775, 0x575d575f, 0x57555757, 0x54c354f0, - 0x54dc54c4, 0x543c54d0, 0x5400540f, 0x541c5405, 0x54145411, 0x5441544f, 0x55fd55ff, 0x55f555f7, - 0x55dd55df, 0x55d555d7, 0x5503550c, 0x557f5501, 0x5577557d, 0x55405575, 0x555d555f, 0x55555557 -); - -#enddecl(IQ1_TABLE) - #decl(IQ1_S) - -struct iq1_s { - d: f16, - qs: array, - qh: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -1603,13 +745,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(IQ1_S) #decl(IQ1_M) - -struct iq1_m { - qs: array, - qh: array, - scales: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; @@ -1655,21 +790,7 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(IQ1_M) -#decl(IQ4_TABLE) - -const kvalues_iq4nl = array( - -127, -104, -83, -65, -49, -35, -22, -10, 1, 13, 25, 38, 53, 69, 89, 113 -); - -#enddecl(IQ4_TABLE) - #decl(IQ4_NL) - -struct iq4_nl { - d: f16, - qs: array, -} - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); @@ -1691,14 +812,6 @@ fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { #enddecl(IQ4_NL) #decl(IQ4_XS) - -struct iq4_xs { - d: f16, - scales_h: f16, - scales_l: u32, - qs: array -}; - fn multiply_add(src0_idx_base: u32, src1_idx_base: u32, offset: u32) -> f32 { let block = src0[src0_idx_base + offset]; let d = f32(block.d); diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/rms_norm.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/rms_norm.wgsl new file mode 100644 index 0000000000..f919a51336 --- /dev/null +++ b/ggml/src/ggml-webgpu/wgsl-shaders/rms_norm.wgsl @@ -0,0 +1,57 @@ +@group(0) @binding(0) +var src: array; + +@group(0) @binding(1) +var dst: array; + +struct Params { + offset_src: u32, // in elements + offset_dst: u32, // in elements + + // Strides (in elements) + stride_src1: u32, + stride_src2: u32, + stride_src3: u32, + + stride_dst1: u32, + stride_dst2: u32, + stride_dst3: u32, + + // Shape of src/dst + ne0: u32, + ne1: u32, + ne2: u32, + ne3: u32, + + eps: u32 +}; + +@group(0) @binding(2) +var params: Params; + +override wg_size: u32; +@compute @workgroup_size(wg_size) +fn main(@builtin(global_invocation_id) gid: vec3) { + if (gid.x >= params.ne1 * params.ne2 * params.ne3) { + return; + } + + // one thread per row + var i = gid.x; + let i3 = i / (params.ne2 * params.ne1); + i = i % (params.ne2 * params.ne1); + let i2 = i / params.ne1; + let i1 = i % params.ne1; + let i_src_row = params.offset_src + i3 * params.stride_src3 + i2 * params.stride_src2 + i1 * params.stride_src1; + let i_dst_row = params.offset_src + i3 * params.stride_dst3 + i2 * params.stride_dst2 + i1 * params.stride_dst1; + + var sum = 0.0f; + for (var j: u32 = 0; j < params.ne0; j++) { + sum += src[i_src_row + j] * src[i_src_row + j]; + } + let eps = bitcast(params.eps); + let scale = 1.0/sqrt(sum/f32(params.ne0) + eps); + for (var j: u32 = 0; j < params.ne0; j++) { + dst[i_dst_row + j] = scale * src[i_src_row + j]; + } +} diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/rms_norm_in_place.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/rms_norm_in_place.wgsl new file mode 100644 index 0000000000..ae84f556d6 --- /dev/null +++ b/ggml/src/ggml-webgpu/wgsl-shaders/rms_norm_in_place.wgsl @@ -0,0 +1,48 @@ +@group(0) @binding(0) +var a: array; + +struct Params { + offset: u32, // in elements + + // Strides (in elements) + stride1: u32, + stride2: u32, + stride3: u32, + + // Shape + ne0: u32, + ne1: u32, + ne2: u32, + ne3: u32, + + eps: u32 +}; + +@group(0) @binding(1) +var params: Params; + +override wg_size: u32; +@compute @workgroup_size(wg_size) +fn main(@builtin(global_invocation_id) gid: vec3) { + if (gid.x >= params.ne1 * params.ne2 * params.ne3) { + return; + } + + // one thread per row + var i = gid.x; + let i3 = i / (params.ne2 * params.ne1); + i = i % (params.ne2 * params.ne1); + let i2 = i / params.ne1; + let i1 = i % params.ne1; + let i_row = params.offset + i3 * params.stride3 + i2 * params.stride2 + i1 * params.stride1; + + var sum = 0.0f; + for (var j: u32 = 0; j < params.ne0; j++) { + sum += a[i_row + j] * a[i_row + j]; + } + let eps = bitcast(params.eps); + let scale = 1.0/sqrt(sum/f32(params.ne0) + eps); + for (var j: u32 = 0; j < params.ne0; j++) { + a[i_row + j] = scale * a[i_row + j]; + } +} diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/set_rows.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/set_rows.wgsl index 4bd6f94a23..3567713dc2 100644 --- a/ggml/src/ggml-webgpu/wgsl-shaders/set_rows.wgsl +++ b/ggml/src/ggml-webgpu/wgsl-shaders/set_rows.wgsl @@ -52,7 +52,6 @@ fn main(@builtin(global_invocation_id) gid: vec3) { } var i = gid.x; let i_src3 = i / (params.ne2 * params.n_rows); - let i_dst3 = i / (params.ne2 * 3); i = i % (params.ne2 * params.n_rows); let i_src2 = i / params.n_rows; diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index ce4a88761c..893c2af313 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -6071,6 +6071,10 @@ static std::vector> make_test_cases_eval() { //add_test_bin_bcast(type, {3, 3, 2560, 1280}, {2, 1, 1, 1}); } + // single in-place tests, especially important for WebGPU backend since kernels for in-place vs. not are different + test_cases.emplace_back(new test_bin_bcast(ggml_add_inplace, GGML_TYPE_F32, {16, 5, 4, 3}, {1, 1, 1, 1}, 16)); + test_cases.emplace_back(new test_bin_bcast(ggml_mul_inplace, GGML_TYPE_F32, {16, 5, 4, 3}, {1, 1, 1, 1}, 16)); + // fusion test_cases.emplace_back(new test_bin_bcast(ggml_add, GGML_TYPE_F32, {10, 5, 4, 3}, {2, 1, 1, 1}, 2)); test_cases.emplace_back(new test_bin_bcast(ggml_add, GGML_TYPE_F32, {16, 5, 4, 3}, {1, 2, 1, 1}, 3)); From 62c3b645c56ad5288aa401901f043b050edac5a2 Mon Sep 17 00:00:00 2001 From: Chenguang Li <757486878@qq.com> Date: Thu, 18 Sep 2025 09:26:33 +0800 Subject: [PATCH 28/52] CANN: Remove print (#16044) Signed-off-by: noemotiovon <757486878@qq.com> --- ggml/src/ggml-cann/ggml-cann.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/ggml/src/ggml-cann/ggml-cann.cpp b/ggml/src/ggml-cann/ggml-cann.cpp index 56d82b4af3..cbeafa6bc9 100755 --- a/ggml/src/ggml-cann/ggml-cann.cpp +++ b/ggml/src/ggml-cann/ggml-cann.cpp @@ -1728,7 +1728,6 @@ static bool ggml_cann_compute_forward(ggml_backend_cann_context& ctx, ggml_cann_get_rows(ctx, dst); break; case GGML_OP_SET_ROWS: - std::cout << "lcg GGML_OP_SET_ROWS"<< std::endl; ggml_cann_set_rows(ctx, dst); break; case GGML_OP_DUP: From f2f28380ea68939c0481df3e4216b698824a59df Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 18 Sep 2025 10:03:24 +0300 Subject: [PATCH 29/52] metal : handle nil cv during pipeline creation (#16065) ggml-ci --- ggml/src/ggml-metal/ggml-metal-device.m | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index 9983640b43..4974bd15b9 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -327,12 +327,19 @@ ggml_metal_pipeline_t ggml_metal_library_compile_pipeline(ggml_metal_library_t l GGML_LOG_DEBUG("%s: compiling pipeline: base = '%s', name = '%s'\n", __func__, base, name); - id mtl_function = [lib->obj newFunctionWithName:base_func constantValues:(cv ? cv->obj : nil) error:&error]; + id mtl_function; + if (!cv) { + mtl_function = [lib->obj newFunctionWithName:base_func]; + } else { + mtl_function = [lib->obj newFunctionWithName:base_func constantValues:cv->obj error:&error]; + } if (!mtl_function) { ggml_critical_section_end(); GGML_LOG_ERROR("%s: error: failed to compile pipeline: base = '%s', name = '%s'\n", __func__, base, name); - GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); + if (error) { + GGML_LOG_ERROR("%s: error: %s\n", __func__, [[error description] UTF8String]); + } return nil; } From e00f3fd8fff2cf5a8c8c9f475034bd089c8bcce4 Mon Sep 17 00:00:00 2001 From: Jhen-Jie Hong Date: Thu, 18 Sep 2025 15:06:48 +0800 Subject: [PATCH 30/52] metal : avoid call free for non-owned buffer (#16067) --- ggml/src/ggml-metal/ggml-metal-device.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index 4974bd15b9..8f83c5cc16 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -824,6 +824,7 @@ struct ggml_metal_buffer { // if false, the Metal buffer data is allocated in private GPU memory and is not shared with the host bool is_shared; + bool owned; // multiple buffers are used only to avoid the maximum buffer size limitation when using mmap int n_buffers; @@ -956,6 +957,7 @@ ggml_metal_buffer_t ggml_metal_buffer_init(ggml_metal_device_t dev, size_t size, if (shared) { res->all_data = ggml_metal_host_malloc(size_aligned); res->is_shared = true; + res->owned = true; } else { // dummy, non-NULL value - we'll populate this after creating the Metal buffer below res->all_data = (void *) 0x000000400ULL; @@ -1014,6 +1016,7 @@ ggml_metal_buffer_t ggml_metal_buffer_map(ggml_metal_device_t dev, void * ptr, s res->all_size = size; res->is_shared = true; + res->owned = false; res->n_buffers = 0; @@ -1107,7 +1110,7 @@ void ggml_metal_buffer_free(ggml_metal_buffer_t buf) { ggml_metal_buffer_rset_free(buf); - if (buf->is_shared) { + if (buf->is_shared && buf->owned) { #if TARGET_OS_OSX vm_deallocate((vm_map_t)mach_task_self(), (vm_address_t)buf->all_data, buf->all_size); #else From b213fce89bee8cb56b587b91e15a4278f8ed0180 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 18 Sep 2025 12:33:45 +0300 Subject: [PATCH 31/52] metal : improve F32, F16 and BF16 mat-vec multiplication (#16057) * metal : improve F32, F16 and BF16 mat-vec multiplication ggml-ci * metal : make the NSG a function constant in mul_mv kernels ggml-ci --- ggml/src/ggml-metal/ggml-metal-device.cpp | 91 ++-- ggml/src/ggml-metal/ggml-metal-device.h | 1 + ggml/src/ggml-metal/ggml-metal-device.m | 4 + ggml/src/ggml-metal/ggml-metal-impl.h | 4 + ggml/src/ggml-metal/ggml-metal-ops.cpp | 10 +- ggml/src/ggml-metal/ggml-metal.metal | 533 ++++++++++++---------- 6 files changed, 355 insertions(+), 288 deletions(-) diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp index 5f04789967..bada84cef3 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.cpp +++ b/ggml/src/ggml-metal/ggml-metal-device.cpp @@ -34,6 +34,10 @@ ggml_metal_pipelines_t ggml_metal_pipelines_init(void) { } void ggml_metal_pipelines_free(ggml_metal_pipelines_t ppls) { + if (!ppls) { + return; + } + for (auto it = ppls->data.begin(); it != ppls->data.end(); ++it) { ggml_metal_pipeline_free(it->second); } @@ -467,37 +471,25 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv(ggml_metal_library_ // use custom matrix x vector kernel switch (tsrc0) { case GGML_TYPE_F32: - { - GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); - - nsg = 1; - nr0 = 1; - nr1 = 4; - if (ne00 == 4) { - nr0 = 32; - suffix = "_c4"; - } - } break; case GGML_TYPE_F16: case GGML_TYPE_BF16: { - nsg = 1; - nr0 = 1; - if (op->src[1]->type == GGML_TYPE_F32) { - if (ne00 == 4) { - nr0 = 32; - nr1 = 4; - suffix = "_c4"; - } else if (ne11 * ne12 < 4) { - suffix = "_1row"; - } else if (ne00 >= 128 && ne01 >= 8 && ne00%4 == 0) { - suffix = "_l4"; - nr1 = ne11; - } else { - nr1 = 4; - } - } else { + if (ne00 == 4) { + nsg = 1; + nr0 = 32; nr1 = 4; + suffix = "_c4"; + } else if (ne00 % 4 == 0) { + nsg = N_SG_F; + nr0 = N_R0_F; + nr1 = 1; + smem = 32*sizeof(float)*N_R0_F; + suffix = "_4"; + } else { + nsg = N_SG_F; + nr0 = N_R0_F; + nr1 = 1; + smem = 32*sizeof(float)*N_R0_F; } } break; case GGML_TYPE_Q4_0: @@ -623,7 +615,13 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv(ggml_metal_library_ return res; } - res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + ggml_metal_cv_t cv = ggml_metal_cv_init(); + + ggml_metal_cv_set_int16(cv, nsg, FC_MUL_MV + 0); + + res = ggml_metal_library_compile_pipeline(lib, base, name, cv); + + ggml_metal_cv_free(cv); ggml_metal_pipeline_set_nr0 (res, nr0); ggml_metal_pipeline_set_nr1 (res, nr1); @@ -689,25 +687,26 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_id(ggml_metal_libra const ggml_type tsrc0 = op->src[0]->type; const ggml_type tsrc1 = op->src[1]->type; + const char * suffix = ""; + // use custom matrix x vector kernel switch (tsrc0) { case GGML_TYPE_F32: - { - GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); - nsg = 1; - nr0 = 1; - } break; case GGML_TYPE_F16: - { - GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); - nsg = 1; - nr0 = 1; - } break; case GGML_TYPE_BF16: { - GGML_ASSERT(op->src[1]->type == GGML_TYPE_F32); - nsg = 1; - nr0 = 1; + if (ne00 % 4 == 0) { + nsg = N_SG_F; + nr0 = N_R0_F; + nr1 = 1; + smem = 32*sizeof(float)*N_R0_F; + suffix = "_4"; + } else { + nsg = N_SG_F; + nr0 = N_R0_F; + nr1 = 1; + smem = 32*sizeof(float)*N_R0_F; + } } break; case GGML_TYPE_Q4_0: { @@ -824,7 +823,7 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_id(ggml_metal_libra } }; - snprintf(base, 256, "kernel_mul_mv_id_%s_%s", ggml_type_name(tsrc0), ggml_type_name(tsrc1)); + snprintf(base, 256, "kernel_mul_mv_id_%s_%s%s", ggml_type_name(tsrc0), ggml_type_name(tsrc1), suffix); snprintf(name, 256, "%s", base); ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); @@ -832,7 +831,13 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_id(ggml_metal_libra return res; } - res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + ggml_metal_cv_t cv = ggml_metal_cv_init(); + + ggml_metal_cv_set_int16(cv, nsg, FC_MUL_MV + 0); + + res = ggml_metal_library_compile_pipeline(lib, base, name, cv); + + ggml_metal_cv_free(cv); ggml_metal_pipeline_set_nr0 (res, nr0); ggml_metal_pipeline_set_nr1 (res, nr1); diff --git a/ggml/src/ggml-metal/ggml-metal-device.h b/ggml/src/ggml-metal/ggml-metal-device.h index c48337f514..4a3a819fc0 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.h +++ b/ggml/src/ggml-metal/ggml-metal-device.h @@ -22,6 +22,7 @@ typedef struct ggml_metal_cv * ggml_metal_cv_t; ggml_metal_cv_t ggml_metal_cv_init(void); void ggml_metal_cv_free(ggml_metal_cv_t cv); +void ggml_metal_cv_set_int16(ggml_metal_cv_t cv, int16_t value, int32_t idx); void ggml_metal_cv_set_int32(ggml_metal_cv_t cv, int32_t value, int32_t idx); void ggml_metal_cv_set_bool (ggml_metal_cv_t cv, bool value, int32_t idx); diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index 8f83c5cc16..67f71ace2b 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -51,6 +51,10 @@ void ggml_metal_cv_free(ggml_metal_cv_t cv) { free(cv); } +void ggml_metal_cv_set_int16(ggml_metal_cv_t cv, int16_t value, int32_t idx) { + [cv->obj setConstantValue:&value type:MTLDataTypeShort atIndex:idx]; +} + void ggml_metal_cv_set_int32(ggml_metal_cv_t cv, int32_t value, int32_t idx) { [cv->obj setConstantValue:&value type:MTLDataTypeInt atIndex:idx]; } diff --git a/ggml/src/ggml-metal/ggml-metal-impl.h b/ggml/src/ggml-metal/ggml-metal-impl.h index 0776bb6485..b257296540 100644 --- a/ggml/src/ggml-metal/ggml-metal-impl.h +++ b/ggml/src/ggml-metal/ggml-metal-impl.h @@ -8,6 +8,9 @@ // // TODO: for optimal performance, become function of the device and work size +#define N_R0_F 2 +#define N_SG_F 4 + #define N_R0_Q4_0 4 #define N_SG_Q4_0 2 @@ -72,6 +75,7 @@ #define FC_FLASH_ATTN_EXT 100 #define FC_FLASH_ATTN_EXT_VEC 200 #define FC_FLASH_ATTN_EXT_VEC_REDUCE 300 +#define FC_MUL_MV 400 // kernel argument structs // diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp index 839c16894d..a28206e786 100644 --- a/ggml/src/ggml-metal/ggml-metal-ops.cpp +++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp @@ -1564,7 +1564,10 @@ int ggml_metal_op_mul_mat(ggml_metal_op_t ctx, int idx) { ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); - if (op->src[0]->type == GGML_TYPE_Q8_0) { + if (op->src[0]->type == GGML_TYPE_F32 || + op->src[0]->type == GGML_TYPE_F16 || + op->src[0]->type == GGML_TYPE_BF16 || + op->src[0]->type == GGML_TYPE_Q8_0) { ggml_metal_encoder_dispatch_threadgroups(enc, ((ne01 + nr0 - 1)/(nr0)), ((ne11 + nr1 - 1)/nr1), ne12*ne13, 32, nsg, 1); } else { ggml_metal_encoder_dispatch_threadgroups(enc, ((ne01 + nr0*nsg - 1)/(nr0*nsg)), ((ne11 + nr1 - 1)/nr1), ne12*ne13, 32, nsg, 1); @@ -1772,7 +1775,10 @@ int ggml_metal_op_mul_mat_id(ggml_metal_op_t ctx, int idx) { ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); - if (op->src[0]->type == GGML_TYPE_Q8_0) { + if (op->src[0]->type == GGML_TYPE_F32 || + op->src[0]->type == GGML_TYPE_F16 || + op->src[0]->type == GGML_TYPE_BF16 || + op->src[0]->type == GGML_TYPE_Q8_0) { ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nr0 - 1)/(nr0), (_ne1 + nr1 - 1)/nr1, ne123, 32, nsg, 1); } else { ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nr0*nsg - 1)/(nr0*nsg), (_ne1 + nr1 - 1)/nr1, ne123, 32, nsg, 1); diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal index f34b89e590..20ceb1fe04 100644 --- a/ggml/src/ggml-metal/ggml-metal.metal +++ b/ggml/src/ggml-metal/ggml-metal.metal @@ -2883,7 +2883,9 @@ static inline void helper_mv_reduce_and_write( } } -template +constant short FC_mul_mv_nsg [[function_constant(FC_MUL_MV + 0)]]; + +template void mul_vec_q_n_f32_impl( args_t args, device const char * src0, @@ -2893,6 +2895,8 @@ void mul_vec_q_n_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; + constexpr short NQ = 16; const int nb = args.ne00/QK4_0; @@ -2977,7 +2981,7 @@ kernel void kernel_mul_mv_q4_0_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } kernel void kernel_mul_mv_q4_1_f32( @@ -2989,7 +2993,7 @@ kernel void kernel_mul_mv_q4_1_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } kernel void kernel_mul_mv_q5_0_f32( @@ -3001,7 +3005,7 @@ kernel void kernel_mul_mv_q5_0_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } kernel void kernel_mul_mv_q5_1_f32( @@ -3013,10 +3017,10 @@ kernel void kernel_mul_mv_q5_1_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_q8_0_f32_impl( args_t args, device const char * src0, @@ -3026,6 +3030,8 @@ void kernel_mul_mv_q8_0_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; + constexpr short NQ = 8; const int nb = args.ne00/QK8_0; @@ -3097,7 +3103,7 @@ kernel void kernel_mul_mv_q8_0_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q8_0_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_q8_0_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } // mat-vec kernel processing in chunks of float4 @@ -3404,104 +3410,215 @@ template [[host_name("kernel_mul_mv_ext_q6_K_f32_r1_3")]] kernel mul_mv_ext_q4x4 template [[host_name("kernel_mul_mv_ext_q6_K_f32_r1_4")]] kernel mul_mv_ext_q4x4_f32_t kernel_mul_mv_ext_q4x4_f32_disp<4, block_q6_K, 256, dequantize_q6_K>; template [[host_name("kernel_mul_mv_ext_q6_K_f32_r1_5")]] kernel mul_mv_ext_q4x4_f32_t kernel_mul_mv_ext_q4x4_f32_disp<5, block_q6_K, 256, dequantize_q6_K>; -#define N_MV_T_T 4 - -template -void kernel_mul_mv_impl( +template +void kernel_mul_mv_t_t_impl( args_t args, device const char * src0, device const char * src1, device char * dst, + threadgroup char * shmem, uint3 tgpig, - ushort tiisg) { - const int r0 = tgpig.x; - const int rb = tgpig.y*N_MV_T_T; + ushort tiisg, + ushort sgitg) { + const short NSG = FC_mul_mv_nsg; + + constexpr short NB = 32; + constexpr short NF = 8; + + const int nb = args.ne00/NB; + + const int r0 = tgpig.x*NR0; + const int r1 = tgpig.y; const int im = tgpig.z; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; - const uint64_t offset0 = r0*args.nb01 + (i12/args.r2)*args.nb02 + (i13/args.r3)*args.nb03; + //const uint64_t offset0 = r0*args.nb01 + (i12/args.r2)*args.nb02 + (i13/args.r3)*args.nb03; + const uint64_t offset1 = r1*args.nb11 + (i12 )*args.nb12 + (i13 )*args.nb13; - device const T0 * x = (device const T0 *) (src0 + offset0); + //device const T0 * x = (device const T0 *) (src0 + offset0); + device const T1 * y = (device const T1 *) (src1 + offset1); - device float * dst_f32 = (device float *) dst + (uint64_t)im*args.ne0*args.ne1; + // pointers to src0 rows + device const T0 * ax [NR0]; + FOR_UNROLL (short row = 0; row < NR0; ++row) { + const uint64_t offset0 = (r0 + row)*args.nb01 + (i12/args.r2)*args.nb02 + (i13/args.r3)*args.nb03; - if (args.ne00 < 128) { - for (int row = 0; row < N_MV_T_T; ++row) { - int r1 = rb + row; - if (r1 >= args.ne11) { - break; - } + ax[row] = (device const T0 *) ((device char *) src0 + offset0); + } - const uint64_t offset1 = r1*args.nb11 + (i12 )*args.nb12 + (i13 )*args.nb13; + float sumf[NR0] = { 0.f }; - device const T1 * y = (device const T1 *) (src1 + offset1); + const short ix = tiisg/(NW/NF); + const short il = tiisg%(NW/NF); - float sumf = 0; - for (int i = tiisg; i < args.ne00; i += 32) { - sumf += (T0) x[i] * (T1) y[i]; - } + const int ib0 = sgitg*NF + ix; - float sum_all = simd_sum(sumf); - if (tiisg == 0) { - dst_f32[(uint64_t)r1*args.ne0 + r0] = sum_all; - } + T1 yl[NF]; + + device const T1 * yb = y + (ib0*NB + il*NF); + + for (int ib = ib0; ib < nb; ib += NSG*NF) { + for (short i = 0; i < NF; ++i) { + yl[i] = yb[i]; } - } else { - device const T04 * x4 = (device const T04 *) x; - for (int row = 0; row < N_MV_T_T; ++row) { - int r1 = rb + row; - if (r1 >= args.ne11) { - break; + + for (short row = 0; row < NR0; row++) { + device const T0 * xb = ax[row] + (ib*NB + il*NF); + + float sumq = 0.f; + FOR_UNROLL (short i = 0; i < NF; ++i) { + sumq += xb[i] * yl[i]; } - const uint64_t offset1 = r1*args.nb11 + (i12 )*args.nb12 + (i13 )*args.nb13; + sumf[row] += sumq; + } - device const T1 * y = (device const T1 *) (src1 + offset1); - device const T14 * y4 = (device const T14 *) y; + yb += NSG*NF*NW; + } - float sumf = 0; - for (int i = tiisg; i < args.ne00/4; i += 32) { - sumf += dot((float4) x4[i], (float4) y4[i]); - } - - float sum_all = simd_sum(sumf); - if (tiisg == 0) { - for (int i = 4*(args.ne00/4); i < args.ne00; ++i) sum_all += (float) (x[i] * y[i]); - dst_f32[(uint64_t)r1*args.ne0 + r0] = sum_all; - } + for (int i = nb*NB + sgitg*NW + tiisg; i < args.ne00; i += NW*NSG) { + for (short row = 0; row < NR0; row++) { + sumf[row] += ax[row][i] * y[i]; } } + + device float * dst_f32 = (device float *) dst + (uint64_t)im*args.ne0*args.ne1 + (uint64_t)r1*args.ne0; + + helper_mv_reduce_and_write(dst_f32, sumf, r0, args.ne01, tiisg, sgitg, shmem); } -template -kernel void kernel_mul_mv( +template +kernel void kernel_mul_mv_t_t( constant ggml_metal_kargs_mul_mv & args, device const char * src0, device const char * src1, device char * dst, + threadgroup char * shmem [[threadgroup(0)]], uint3 tgpig[[threadgroup_position_in_grid]], - ushort tiisg[[thread_index_in_simdgroup]]) { - kernel_mul_mv_impl( - args, - src0, - src1, - dst, - tgpig, - tiisg); + ushort tiisg[[thread_index_in_simdgroup]], + ushort sgitg[[simdgroup_index_in_threadgroup]]) { + kernel_mul_mv_t_t_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -typedef decltype(kernel_mul_mv) mul_mv_t; +typedef decltype(kernel_mul_mv_t_t) mul_mv_t_t; -template [[host_name("kernel_mul_mv_f32_f32")]] kernel mul_mv_t kernel_mul_mv; -template [[host_name("kernel_mul_mv_f16_f32")]] kernel mul_mv_t kernel_mul_mv; -template [[host_name("kernel_mul_mv_f16_f16")]] kernel mul_mv_t kernel_mul_mv; +template [[host_name("kernel_mul_mv_f32_f32")]] kernel mul_mv_t_t kernel_mul_mv_t_t; +template [[host_name("kernel_mul_mv_f16_f32")]] kernel mul_mv_t_t kernel_mul_mv_t_t; +template [[host_name("kernel_mul_mv_f16_f16")]] kernel mul_mv_t_t kernel_mul_mv_t_t; #if defined(GGML_METAL_HAS_BF16) -template [[host_name("kernel_mul_mv_bf16_f32")]] kernel mul_mv_t kernel_mul_mv; -template [[host_name("kernel_mul_mv_bf16_bf16")]] kernel mul_mv_t kernel_mul_mv; +template [[host_name("kernel_mul_mv_bf16_f32")]] kernel mul_mv_t_t kernel_mul_mv_t_t; +template [[host_name("kernel_mul_mv_bf16_bf16")]] kernel mul_mv_t_t kernel_mul_mv_t_t; #endif +template +void kernel_mul_mv_t_t_4_impl( + args_t args, + device const char * src0, + device const char * src1, + device char * dst, + threadgroup char * shmem, + uint3 tgpig, + ushort tiisg, + ushort sgitg) { + const short NSG = FC_mul_mv_nsg; + + constexpr short NB = 32; + constexpr short NF = 16; + constexpr short NF4 = NF/4; + + const int nb = args.ne00/NB; + + const int r0 = tgpig.x*NR0; + const int r1 = tgpig.y; + const int im = tgpig.z; + + const uint i12 = im%args.ne12; + const uint i13 = im/args.ne12; + + //const uint64_t offset0 = r0*args.nb01 + (i12/args.r2)*args.nb02 + (i13/args.r3)*args.nb03; + const uint64_t offset1 = r1*args.nb11 + (i12 )*args.nb12 + (i13 )*args.nb13; + + device const T1 * y = (device const T1 *) (src1 + offset1); + device const T14 * y4 = (device const T14 *) (src1 + offset1); + + // pointers to src0 rows + device const T0 * ax [NR0]; + device const T04 * ax4[NR0]; + FOR_UNROLL (short row = 0; row < NR0; ++row) { + const uint64_t offset0 = (r0 + row)*args.nb01 + (i12/args.r2)*args.nb02 + (i13/args.r3)*args.nb03; + + ax [row] = (device const T0 *) ((device char *) src0 + offset0); + ax4[row] = (device const T04 *) ((device char *) src0 + offset0); + } + + float sumf[NR0] = { 0.f }; + + const short ix = tiisg/(NW/NF); + const short il = tiisg%(NW/NF); + + const int ib0 = sgitg*NF + ix; + + T14 yl4[NF4]; + + device const T14 * yb4 = y4 + (ib0*NB + il*NF)/4; + + for (int ib = ib0; ib < nb; ib += NSG*NF) { + for (short i = 0; i < NF4; ++i) { + yl4[i] = yb4[i]; + } + + for (short row = 0; row < NR0; row++) { + device const T04 * xb4 = ax4[row] + (ib*NB + il*NF)/4; + + float sumq = 0.f; + FOR_UNROLL (short i = 0; i < NF4; ++i) { + sumq += dot(float4(xb4[i]), float4(yl4[i])); + } + + sumf[row] += sumq; + } + + yb4 += NSG*NF*NW/4; + } + + for (int i = nb*NB + sgitg*NW + tiisg; i < args.ne00; i += NW*NSG) { + for (short row = 0; row < NR0; row++) { + sumf[row] += ax[row][i] * y[i]; + } + } + + device float * dst_f32 = (device float *) dst + (uint64_t)im*args.ne0*args.ne1 + (uint64_t)r1*args.ne0; + + helper_mv_reduce_and_write(dst_f32, sumf, r0, args.ne01, tiisg, sgitg, shmem); +} + +template +kernel void kernel_mul_mv_t_t_4( + constant ggml_metal_kargs_mul_mv & args, + device const char * src0, + device const char * src1, + device char * dst, + threadgroup char * shmem [[threadgroup(0)]], + uint3 tgpig[[threadgroup_position_in_grid]], + ushort tiisg[[thread_index_in_simdgroup]], + ushort sgitg[[simdgroup_index_in_threadgroup]]) { + kernel_mul_mv_t_t_4_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); +} + +typedef decltype(kernel_mul_mv_t_t_4) mul_mv_t_t_4; + +template [[host_name("kernel_mul_mv_f32_f32_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; +template [[host_name("kernel_mul_mv_f16_f32_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; +template [[host_name("kernel_mul_mv_f16_f16_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; +#if defined(GGML_METAL_HAS_BF16) +template [[host_name("kernel_mul_mv_bf16_f32_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; +template [[host_name("kernel_mul_mv_bf16_bf16_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; +#endif + +#define N_MV_T_T 4 + template void kernel_mul_mv_c4_impl( args_t args, @@ -3562,112 +3679,10 @@ typedef decltype(kernel_mul_mv_c4) mul_mv_c4_t; template [[host_name("kernel_mul_mv_f32_f32_c4")]] kernel mul_mv_c4_t kernel_mul_mv_c4; template [[host_name("kernel_mul_mv_f16_f32_c4")]] kernel mul_mv_c4_t kernel_mul_mv_c4; +template [[host_name("kernel_mul_mv_f16_f16_c4")]] kernel mul_mv_c4_t kernel_mul_mv_c4; #if defined(GGML_METAL_HAS_BF16) -template [[host_name("kernel_mul_mv_bf16_f32_c4")]] kernel mul_mv_c4_t kernel_mul_mv_c4; -#endif - -template -kernel void kernel_mul_mv_1row( - constant ggml_metal_kargs_mul_mv & args, - device const char * src0, - device const char * src1, - device char * dst, - uint3 tgpig[[threadgroup_position_in_grid]], - ushort tiisg[[thread_index_in_simdgroup]]) { - - const int r0 = tgpig.x; - const int r1 = tgpig.y; - const int im = tgpig.z; - - const uint i12 = im%args.ne12; - const uint i13 = im/args.ne12; - - const uint64_t offset0 = r0*args.nb01 + (i12/args.r2)*args.nb02 + (i13/args.r3)*args.nb03; - const uint64_t offset1 = r1*args.nb11 + (i12 )*args.nb12 + (i13 )*args.nb13; - - device const T * x = (device const T *) (src0 + offset0); - device const float * y = (device const float *) (src1 + offset1); - - device float * dst_f32 = (device float *) dst + (uint64_t)im*args.ne0*args.ne1 + (uint64_t)r1*args.ne0; - - float sumf = 0; - if (args.ne00 < 128) { - for (int i = tiisg; i < args.ne00; i += 32) { - sumf += (float) x[i] * (float) y[i]; - } - float sum_all = simd_sum(sumf); - if (tiisg == 0) { - dst_f32[r0] = sum_all; - } - } else { - device const T4 * x4 = (device const T4 *) x; - device const float4 * y4 = (device const float4 *) y; - - for (int i = tiisg; i < args.ne00/4; i += 32) { - sumf += dot((float4) x4[i], y4[i]); - } - - float sum_all = simd_sum(sumf); - - if (tiisg == 0) { - for (int i = 4*(args.ne00/4); i < args.ne00; ++i) sum_all += (float) (x[i] * y[i]); - dst_f32[r0] = sum_all; - } - } -} - -typedef decltype(kernel_mul_mv_1row) mul_mv_1row_t; - -template [[host_name("kernel_mul_mv_f16_f32_1row")]] kernel mul_mv_1row_t kernel_mul_mv_1row; -#if defined(GGML_METAL_HAS_BF16) -template [[host_name("kernel_mul_mv_bf16_f32_1row")]] kernel mul_mv_1row_t kernel_mul_mv_1row; -#endif - -// Assumes row size (ne00) is a multiple of 4 -template -kernel void kernel_mul_mv_l4( - constant ggml_metal_kargs_mul_mv & args, - device const char * src0, - device const char * src1, - device char * dst, - uint3 tgpig[[threadgroup_position_in_grid]], - ushort tiisg[[thread_index_in_simdgroup]]) { - - const int nrows = args.ne11; - const int r0 = tgpig.x; - const int im = tgpig.z; - - const uint i12 = im%args.ne12; - const uint i13 = im/args.ne12; - - const uint64_t offset0 = r0*args.nb01 + (i12/args.r2)*args.nb02 + (i13/args.r3)*args.nb03; - - device const T4 * x4 = (device const T4 *) (src0 + offset0); - - device float * dst_f32 = (device float *) dst + (uint64_t)im*args.ne0*args.ne1; - - for (int r1 = 0; r1 < nrows; ++r1) { - const uint64_t offset1 = r1*args.nb11 + (i12 )*args.nb12 + (i13 )*args.nb13; - - device const float4 * y4 = (device const float4 *) (src1 + offset1); - - float sumf = 0; - for (int i = tiisg; i < args.ne00/4; i += 32) { - sumf += dot((float4) x4[i], y4[i]); - } - - float sum_all = simd_sum(sumf); - if (tiisg == 0) { - dst_f32[(uint64_t)r1*args.ne0 + r0] = sum_all; - } - } -} - -typedef decltype(kernel_mul_mv_l4) mul_mv_l4_t; - -template [[host_name("kernel_mul_mv_f16_f32_l4")]] kernel mul_mv_l4_t kernel_mul_mv_l4; -#if defined(GGML_METAL_HAS_BF16) -template [[host_name("kernel_mul_mv_bf16_f32_l4")]] kernel mul_mv_l4_t kernel_mul_mv_l4; +template [[host_name("kernel_mul_mv_bf16_f32_c4")]] kernel mul_mv_c4_t kernel_mul_mv_c4; +template [[host_name("kernel_mul_mv_bf16_bf16_c4")]] kernel mul_mv_c4_t kernel_mul_mv_c4; #endif static float rope_yarn_ramp(const float low, const float high, const int i0) { @@ -5951,7 +5966,7 @@ kernel void kernel_concat( } } -template +template void kernel_mul_mv_q2_K_f32_impl( args_t args, device const char * src0, @@ -5961,13 +5976,15 @@ void kernel_mul_mv_q2_K_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const int nb = args.ne00/QK_K; + const int r0 = tgpig.x; const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -6051,10 +6068,10 @@ kernel void kernel_mul_mv_q2_K_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q2_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_q2_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_q3_K_f32_impl( args_t args, device const char * src0, @@ -6064,6 +6081,7 @@ void kernel_mul_mv_q3_K_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const int nb = args.ne00/QK_K; @@ -6071,7 +6089,7 @@ void kernel_mul_mv_q3_K_f32_impl( const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -6215,10 +6233,10 @@ kernel void kernel_mul_mv_q3_K_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q3_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_q3_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_q4_K_f32_impl( args_t args, device const char * src0, @@ -6228,6 +6246,8 @@ void kernel_mul_mv_q4_K_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; + const uint16_t kmask1 = 0x3f3f; const uint16_t kmask2 = 0x0f0f; const uint16_t kmask3 = 0xc0c0; @@ -6243,7 +6263,7 @@ void kernel_mul_mv_q4_K_f32_impl( const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -6337,10 +6357,10 @@ kernel void kernel_mul_mv_q4_K_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q4_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_q4_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_q5_K_f32_impl( args_t args, device const char * src0, @@ -6350,6 +6370,7 @@ void kernel_mul_mv_q5_K_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const int nb = args.ne00/QK_K; @@ -6357,7 +6378,7 @@ void kernel_mul_mv_q5_K_f32_impl( const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -6468,10 +6489,10 @@ kernel void kernel_mul_mv_q5_K_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q5_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_q5_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_q6_K_f32_impl( args_t args, device const char * src0, @@ -6481,6 +6502,7 @@ void kernel_mul_mv_q6_K_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const uint8_t kmask1 = 0x03; const uint8_t kmask2 = 0x0C; @@ -6493,7 +6515,7 @@ void kernel_mul_mv_q6_K_f32_impl( const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -6577,12 +6599,12 @@ kernel void kernel_mul_mv_q6_K_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q6_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_q6_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } // ======================= "True" 2-bit -template +template void kernel_mul_mv_iq2_xxs_f32_impl( args_t args, device const char * src0, @@ -6592,13 +6614,15 @@ void kernel_mul_mv_iq2_xxs_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const int nb = args.ne00/QK_K; + const int r0 = tgpig.x; const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -6685,10 +6709,10 @@ kernel void kernel_mul_mv_iq2_xxs_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq2_xxs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq2_xxs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq2_xs_f32_impl( args_t args, device const char * src0, @@ -6698,13 +6722,15 @@ void kernel_mul_mv_iq2_xs_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const int nb = args.ne00/QK_K; + const int r0 = tgpig.x; const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -6802,10 +6828,10 @@ kernel void kernel_mul_mv_iq2_xs_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq2_xs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq2_xs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq3_xxs_f32_impl( args_t args, device const char * src0, @@ -6815,13 +6841,15 @@ void kernel_mul_mv_iq3_xxs_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const int nb = args.ne00/QK_K; + const int r0 = tgpig.x; const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -6912,10 +6940,10 @@ kernel void kernel_mul_mv_iq3_xxs_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq3_xxs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq3_xxs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq3_s_f32_impl( args_t args, device const char * src0, @@ -6925,13 +6953,15 @@ void kernel_mul_mv_iq3_s_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const int nb = args.ne00/QK_K; + const int r0 = tgpig.x; const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -7022,10 +7052,10 @@ kernel void kernel_mul_mv_iq3_s_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq3_s_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq3_s_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq2_s_f32_impl( args_t args, device const char * src0, @@ -7035,13 +7065,15 @@ void kernel_mul_mv_iq2_s_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const int nb = args.ne00/QK_K; + const int r0 = tgpig.x; const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -7133,10 +7165,10 @@ kernel void kernel_mul_mv_iq2_s_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq2_s_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq2_s_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq1_s_f32_impl( args_t args, device const char * src0, @@ -7146,13 +7178,15 @@ void kernel_mul_mv_iq1_s_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const int nb = args.ne00/QK_K; + const int r0 = tgpig.x; const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -7230,10 +7264,10 @@ kernel void kernel_mul_mv_iq1_s_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq1_s_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_iq1_s_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq1_m_f32_impl( args_t args, device const char * src0, @@ -7243,6 +7277,7 @@ void kernel_mul_mv_iq1_m_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; const int nb = args.ne00/QK_K; @@ -7250,7 +7285,7 @@ void kernel_mul_mv_iq1_m_f32_impl( const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -7338,10 +7373,10 @@ kernel void kernel_mul_mv_iq1_m_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq1_m_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_iq1_m_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq4_nl_f32_impl( args_t args, device const char * src0, @@ -7351,6 +7386,7 @@ void kernel_mul_mv_iq4_nl_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; threadgroup float * shmem_f32 = (threadgroup float *) shmem; const int nb = args.ne00/QK4_NL; @@ -7359,7 +7395,7 @@ void kernel_mul_mv_iq4_nl_f32_impl( const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -7444,10 +7480,10 @@ kernel void kernel_mul_mv_iq4_nl_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq4_nl_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq4_nl_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq4_xs_f32_impl( args_t args, device const char * src0, @@ -7457,13 +7493,15 @@ void kernel_mul_mv_iq4_xs_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; threadgroup float * shmem_f32 = (threadgroup float *) shmem; const int nb = args.ne00/QK_K; + const int r0 = tgpig.x; const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -7549,10 +7587,10 @@ kernel void kernel_mul_mv_iq4_xs_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq4_xs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq4_xs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_mxfp4_f32_impl( args_t args, device const char * src0, @@ -7562,6 +7600,7 @@ void kernel_mul_mv_mxfp4_f32_impl( uint3 tgpig, ushort tiisg, ushort sgitg) { + const short NSG = FC_mul_mv_nsg; threadgroup float * shmem_f32 = (threadgroup float *) shmem; const int nb = args.ne00/QK_MXFP4; @@ -7570,7 +7609,7 @@ void kernel_mul_mv_mxfp4_f32_impl( const int r1 = tgpig.y; const int im = tgpig.z; - const int first_row = (r0 * nsg + sgitg) * nr0; + const int first_row = (r0 * NSG + sgitg) * nr0; const uint i12 = im%args.ne12; const uint i13 = im/args.ne12; @@ -7638,7 +7677,7 @@ kernel void kernel_mul_mv_mxfp4_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_mxfp4_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_mxfp4_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } template @@ -8314,7 +8353,7 @@ void mmv_fn( impl_fn(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -typedef decltype(mmv_fn>) mul_mv_impl_fn_t; +typedef decltype(mmv_fn>) mul_mv_impl_fn_t; template kernel void kernel_mul_mv_id( @@ -8379,36 +8418,44 @@ kernel void kernel_mul_mv_id( sgitg); } -typedef decltype(kernel_mul_mv_id>>) kernel_mul_mv_id_t; +typedef decltype(kernel_mul_mv_id>>) kernel_mul_mv_id_t; -template [[host_name("kernel_mul_mv_id_f32_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_f16_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +typedef decltype(kernel_mul_mv_id>>) kernel_mul_mv_id_4_t; + +template [[host_name("kernel_mul_mv_id_f32_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_f16_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; #if defined(GGML_METAL_HAS_BF16) -template [[host_name("kernel_mul_mv_id_bf16_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_bf16_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +#endif +template [[host_name("kernel_mul_mv_id_f32_f32_4")]] kernel kernel_mul_mv_id_4_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_f16_f32_4")]] kernel kernel_mul_mv_id_4_t kernel_mul_mv_id>>; +#if defined(GGML_METAL_HAS_BF16) +template [[host_name("kernel_mul_mv_id_bf16_f32_4")]] kernel kernel_mul_mv_id_4_t kernel_mul_mv_id>>; #endif -template [[host_name("kernel_mul_mv_id_q8_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q4_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q4_1_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q5_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q5_1_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q8_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_mxfp4_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q4_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q4_1_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q5_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q5_1_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q2_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q3_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q4_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q5_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q6_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq1_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq1_m_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq2_xxs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq2_xs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq3_xxs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq3_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq2_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq4_nl_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq4_xs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_mxfp4_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; + +template [[host_name("kernel_mul_mv_id_q2_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q3_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q4_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q5_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q6_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq1_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq1_m_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq2_xxs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq2_xs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq3_xxs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq3_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq2_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq4_nl_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq4_xs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; kernel void kernel_pool_2d_max_f32( constant ggml_metal_kargs_pool_2d & args, From e58174cecbc45bf79bf653cd2c984395940c6ef4 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 18 Sep 2025 12:47:56 +0300 Subject: [PATCH 32/52] llama : bump max seq limit from 64 to 256 (#15916) ggml-ci --- src/llama-cparams.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llama-cparams.h b/src/llama-cparams.h index dbbaba9f62..eae7b839f4 100644 --- a/src/llama-cparams.h +++ b/src/llama-cparams.h @@ -4,7 +4,7 @@ #include -#define LLAMA_MAX_SEQ 64 +#define LLAMA_MAX_SEQ 256 struct llama_cparams { uint32_t n_ctx; // context size used during inference From 2b6b55a59f590a1e1eb2dcd09d5b8b6feb9cc748 Mon Sep 17 00:00:00 2001 From: Radoslav Gerganov Date: Thu, 18 Sep 2025 13:36:57 +0300 Subject: [PATCH 33/52] server : include usage statistics only when user request them (#16052) * server : include usage statistics only when user request them When serving the OpenAI compatible API, we should check if {"stream_options": {"include_usage": true} is set in the request when deciding whether we should send usage statistics closes: #16048 * add unit test --- tools/server/server.cpp | 59 +++++++++++-------- .../server/tests/unit/test_chat_completion.py | 4 ++ 2 files changed, 37 insertions(+), 26 deletions(-) diff --git a/tools/server/server.cpp b/tools/server/server.cpp index 5e5698e672..c0ffe17692 100644 --- a/tools/server/server.cpp +++ b/tools/server/server.cpp @@ -111,6 +111,7 @@ static bool server_task_type_need_logits(server_task_type task_type) { 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; @@ -310,17 +311,19 @@ struct server_task { params.verbose = params_base.verbosity > 9; params.timings_per_token = json_value(data, "timings_per_token", false); - params.stream = json_value(data, "stream", 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.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); @@ -775,6 +778,7 @@ struct server_task_result_cmpl_final : server_task_result { llama_tokens tokens; bool stream; + bool include_usage; result_timings timings; std::string prompt; @@ -982,21 +986,23 @@ struct server_task_result_cmpl_final : server_task_result { {"object", "chat.completion.chunk"}, }); - // 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 (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()}); @@ -2815,6 +2821,7 @@ struct server_context { res->verbose = slot.params.verbose; res->stream = slot.params.stream; + res->include_usage = slot.params.include_usage; res->oaicompat = slot.params.oaicompat; res->oaicompat_model = slot.params.oaicompat_model; res->oaicompat_cmpl_id = slot.params.oaicompat_cmpl_id; diff --git a/tools/server/tests/unit/test_chat_completion.py b/tools/server/tests/unit/test_chat_completion.py index 53421d1b57..2979ed4bb7 100644 --- a/tools/server/tests/unit/test_chat_completion.py +++ b/tools/server/tests/unit/test_chat_completion.py @@ -271,8 +271,10 @@ def test_chat_completion_with_timings_per_token(): "max_tokens": 10, "messages": [{"role": "user", "content": "test"}], "stream": True, + "stream_options": {"include_usage": True}, "timings_per_token": True, }) + stats_received = False for i, data in enumerate(res): if i == 0: # Check first role message for stream=True @@ -288,6 +290,8 @@ def test_chat_completion_with_timings_per_token(): assert "predicted_per_second" in data["timings"] assert "predicted_n" in data["timings"] assert data["timings"]["predicted_n"] <= 10 + stats_received = True + assert stats_received def test_logprobs(): From ad6bd9083bc346afd4ecd2fbb83e0306c0141c99 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Thu, 18 Sep 2025 13:28:22 +0200 Subject: [PATCH 34/52] cuda : add missing F32<->I32 entries in ggml_cuda_cpy_fn (#16060) --- ggml/src/ggml-cuda/cpy.cu | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ggml/src/ggml-cuda/cpy.cu b/ggml/src/ggml-cuda/cpy.cu index 8567c3d5a1..1b763a6289 100644 --- a/ggml/src/ggml-cuda/cpy.cu +++ b/ggml/src/ggml-cuda/cpy.cu @@ -441,6 +441,10 @@ void* ggml_cuda_cpy_fn(const ggml_tensor * src0, ggml_tensor * src1) { return (void*) cpy_flt>; } else if (src0->type == GGML_TYPE_BF16 && src1->type == GGML_TYPE_F32) { return (void*) cpy_flt>; + } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_I32) { + return (void*) cpy_flt>; + } else if (src0->type == GGML_TYPE_I32 && src1->type == GGML_TYPE_F32) { + return (void*) cpy_flt>; } else { GGML_ABORT("%s: unsupported type combination (%s to %s)\n", __func__, ggml_type_name(src0->type), ggml_type_name(src1->type)); From 703f9e32c4eb3166f8d63007c26e31a1466c21af Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 18 Sep 2025 16:28:41 +0300 Subject: [PATCH 35/52] metal : use function constants for mul_mv_ext kernels (#16074) * metal : use function constants for mul_mv_ext kernels ggml-ci * metal : remove NW template argument ggml-ci * metal : adjust constants ggml-ci --- ggml/src/ggml-metal/ggml-metal-device.cpp | 33 +-- ggml/src/ggml-metal/ggml-metal-device.h | 2 +- ggml/src/ggml-metal/ggml-metal-impl.h | 7 +- ggml/src/ggml-metal/ggml-metal-ops.cpp | 5 +- ggml/src/ggml-metal/ggml-metal.metal | 271 +++++++++++----------- 5 files changed, 155 insertions(+), 163 deletions(-) diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp index bada84cef3..fe015afc54 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.cpp +++ b/ggml/src/ggml-metal/ggml-metal-device.cpp @@ -414,19 +414,26 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_rwkv(ggml_metal_library_t return res; } -ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_ext(ggml_metal_library_t lib, ggml_type tsrc0, ggml_type tsrc1, int r1ptg) { +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_ext(ggml_metal_library_t lib, ggml_type tsrc0, ggml_type tsrc1, int nsg, int nxpsg, int r1ptg) { char base[256]; char name[256]; snprintf(base, 256, "kernel_mul_mv_ext_%s_%s_r1_%d", ggml_type_name(tsrc0), ggml_type_name(tsrc1), r1ptg); - snprintf(name, 256, "%s", base); + snprintf(name, 256, "%s_nsg=%d_nxpsg=%d", base, nsg, nxpsg); ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); if (res) { return res; } - res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + ggml_metal_cv_t cv = ggml_metal_cv_init(); + + ggml_metal_cv_set_int16(cv, nsg, FC_MUL_MV + 0); + ggml_metal_cv_set_int16(cv, nxpsg, FC_MUL_MV + 1); + + res = ggml_metal_library_compile_pipeline(lib, base, name, cv); + + ggml_metal_cv_free(cv); return res; } @@ -608,7 +615,7 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv(ggml_metal_library_ }; snprintf(base, 256, "kernel_mul_mv_%s_%s%s", ggml_type_name(tsrc0), ggml_type_name(tsrc1), suffix); - snprintf(name, 256, "%s", base); + snprintf(name, 256, "%s_nsg=%d", base, nsg); ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); if (res) { @@ -824,7 +831,7 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_id(ggml_metal_libra }; snprintf(base, 256, "kernel_mul_mv_id_%s_%s%s", ggml_type_name(tsrc0), ggml_type_name(tsrc1), suffix); - snprintf(name, 256, "%s", base); + snprintf(name, 256, "%s_nsg=%d", base, nsg); ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); if (res) { @@ -923,11 +930,8 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_flash_attn_ext( dk, dv); - snprintf(name, 256, "kernel_%s_%s_dk%d_dv%d_mask=%d_sinks=%d_bias=%d_scap=%d_ns10=%d_ns20=%d_nsg=%d", - "flash_attn_ext", - ggml_type_name(op->src[1]->type), - dk, - dv, + snprintf(name, 256, "%s_mask=%d_sinks=%d_bias=%d_scap=%d_ns10=%d_ns20=%d_nsg=%d", + base, has_mask, has_sinks, has_bias, @@ -985,11 +989,8 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_flash_attn_ext_vec( dk, dv); - snprintf(name, 256, "kernel_%s_%s_dk%d_dv%d_mask=%d_sink=%d_bias=%d_softcap=%d_ns10=%d_ns20=%d_nsg=%d_nwg=%d", - "flash_attn_ext_vec", - ggml_type_name(op->src[1]->type), - dk, - dv, + snprintf(name, 256, "%s_mask=%d_sink=%d_bias=%d_softcap=%d_ns10=%d_ns20=%d_nsg=%d_nwg=%d", + base, has_mask, has_sinks, has_bias, @@ -1033,7 +1034,7 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_flash_attn_ext_vec_reduce( char name[256]; snprintf(base, 256, "kernel_flash_attn_ext_vec_reduce"); - snprintf(name, 256, "kernel_flash_attn_ext_vec_reduce_dv=%d_nwg=%d", dv, nwg); + snprintf(name, 256, "%s_dv=%d_nwg=%d", base, dv, nwg); ggml_metal_pipeline_t res = ggml_metal_library_get_pipeline(lib, name); if (res) { diff --git a/ggml/src/ggml-metal/ggml-metal-device.h b/ggml/src/ggml-metal/ggml-metal-device.h index 4a3a819fc0..044d6953f6 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.h +++ b/ggml/src/ggml-metal/ggml-metal-device.h @@ -114,7 +114,7 @@ ggml_metal_pipeline_t ggml_metal_library_get_pipeline_soft_max (ggml_me ggml_metal_pipeline_t ggml_metal_library_get_pipeline_ssm_conv (ggml_metal_library_t lib, const struct ggml_tensor * op); ggml_metal_pipeline_t ggml_metal_library_get_pipeline_ssm_scan (ggml_metal_library_t lib, const struct ggml_tensor * op); ggml_metal_pipeline_t ggml_metal_library_get_pipeline_rwkv (ggml_metal_library_t lib, const struct ggml_tensor * op); -ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_ext (ggml_metal_library_t lib, enum ggml_type tsrc0, enum ggml_type tsrc1, int r1ptg); +ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv_ext (ggml_metal_library_t lib, enum ggml_type tsrc0, enum ggml_type tsrc1, int nsg, int nxpsg, int r1ptg); ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mm (ggml_metal_library_t lib, enum ggml_type tsrc0, enum ggml_type tsrc1); ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mv (ggml_metal_library_t lib, const struct ggml_tensor * op); ggml_metal_pipeline_t ggml_metal_library_get_pipeline_mul_mm_id_map0 (ggml_metal_library_t lib, int ne02, int ne20); diff --git a/ggml/src/ggml-metal/ggml-metal-impl.h b/ggml/src/ggml-metal/ggml-metal-impl.h index b257296540..3a7a4f317c 100644 --- a/ggml/src/ggml-metal/ggml-metal-impl.h +++ b/ggml/src/ggml-metal/ggml-metal-impl.h @@ -35,13 +35,13 @@ #define N_R0_Q3_K 2 #define N_SG_Q3_K 2 -#define N_R0_Q4_K 4 +#define N_R0_Q4_K 2 #define N_SG_Q4_K 2 #define N_R0_Q5_K 2 #define N_SG_Q5_K 2 -#define N_R0_Q6_K 1 +#define N_R0_Q6_K 2 #define N_SG_Q6_K 2 #define N_R0_IQ1_S 4 @@ -374,9 +374,6 @@ typedef struct { int32_t ne1; int16_t r2; int16_t r3; - int16_t nsg; - int16_t nxpsg; - int16_t r1ptg; } ggml_metal_kargs_mul_mv_ext; typedef struct { diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp index a28206e786..04665b3d6d 100644 --- a/ggml/src/ggml-metal/ggml-metal-ops.cpp +++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp @@ -1444,7 +1444,7 @@ int ggml_metal_op_mul_mat(ggml_metal_op_t ctx, int idx) { GGML_ABORT("unsupported ne11"); }; - ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_mul_mv_ext(lib, op->src[0]->type, op->src[1]->type, r1ptg); + ggml_metal_pipeline_t pipeline = ggml_metal_library_get_pipeline_mul_mv_ext(lib, op->src[0]->type, op->src[1]->type, nsg, nxpsg, r1ptg); ggml_metal_kargs_mul_mv_ext args = { /*.ne00 =*/ ne00, @@ -1465,9 +1465,6 @@ int ggml_metal_op_mul_mat(ggml_metal_op_t ctx, int idx) { /*.ne1 =*/ ne1, /*.r2 =*/ r2, /*.r3 =*/ r3, - /*.nsg =*/ nsg, - /*.nxpsg =*/ nxpsg, - /*.r1ptg =*/ r1ptg, }; ggml_metal_encoder_set_pipeline(enc, pipeline); diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal index 20ceb1fe04..c7d97ba70b 100644 --- a/ggml/src/ggml-metal/ggml-metal.metal +++ b/ggml/src/ggml-metal/ggml-metal.metal @@ -2843,7 +2843,7 @@ inline float block_q_n_dot_y(device const block_q5_1 * qb_curr, float sumy, thre return d * (acc[0] + acc[1] + acc[2] + acc[3]) + sumy * m; } -template +template static inline void helper_mv_reduce_and_write( device float * dst_f32, float sumf[NR0], @@ -2852,6 +2852,8 @@ static inline void helper_mv_reduce_and_write( ushort tiisg, ushort sgitg, threadgroup char * shmem) { + constexpr short NW = N_SIMDWIDTH; + threadgroup float * shmem_f32[NR0]; for (short row = 0; row < NR0; ++row) { @@ -2883,9 +2885,10 @@ static inline void helper_mv_reduce_and_write( } } -constant short FC_mul_mv_nsg [[function_constant(FC_MUL_MV + 0)]]; +constant short FC_mul_mv_nsg [[function_constant(FC_MUL_MV + 0)]]; +constant short FC_mul_mv_nxpsg [[function_constant(FC_MUL_MV + 1)]]; -template +template void mul_vec_q_n_f32_impl( args_t args, device const char * src0, @@ -2897,6 +2900,7 @@ void mul_vec_q_n_f32_impl( ushort sgitg) { const short NSG = FC_mul_mv_nsg; + constexpr short NW = N_SIMDWIDTH; constexpr short NQ = 16; const int nb = args.ne00/QK4_0; @@ -2961,7 +2965,7 @@ void mul_vec_q_n_f32_impl( device float * dst_f32 = (device float *) dst + im*args.ne0*args.ne1 + r1*args.ne0; - //helper_mv_reduce_and_write(dst_f32, sumf, r0, args.ne01, tiisg, sgitg, shmem); + //helper_mv_reduce_and_write(dst_f32, sumf, r0, args.ne01, tiisg, sgitg, shmem); for (int row = 0; row < NR0; ++row) { const float tot = simd_sum(sumf[row]); @@ -2981,7 +2985,7 @@ kernel void kernel_mul_mv_q4_0_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } kernel void kernel_mul_mv_q4_1_f32( @@ -2993,7 +2997,7 @@ kernel void kernel_mul_mv_q4_1_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } kernel void kernel_mul_mv_q5_0_f32( @@ -3005,7 +3009,7 @@ kernel void kernel_mul_mv_q5_0_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } kernel void kernel_mul_mv_q5_1_f32( @@ -3017,10 +3021,10 @@ kernel void kernel_mul_mv_q5_1_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + mul_vec_q_n_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_q8_0_f32_impl( args_t args, device const char * src0, @@ -3032,6 +3036,7 @@ void kernel_mul_mv_q8_0_f32_impl( ushort sgitg) { const short NSG = FC_mul_mv_nsg; + constexpr short NW = N_SIMDWIDTH; constexpr short NQ = 8; const int nb = args.ne00/QK8_0; @@ -3090,7 +3095,7 @@ void kernel_mul_mv_q8_0_f32_impl( device float * dst_f32 = (device float *) dst + (uint64_t)im*args.ne0*args.ne1 + (uint64_t)r1*args.ne0; - helper_mv_reduce_and_write(dst_f32, sumf, r0, args.ne01, tiisg, sgitg, shmem); + helper_mv_reduce_and_write(dst_f32, sumf, r0, args.ne01, tiisg, sgitg, shmem); } [[host_name("kernel_mul_mv_q8_0_f32")]] @@ -3103,12 +3108,12 @@ kernel void kernel_mul_mv_q8_0_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q8_0_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_q8_0_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } // mat-vec kernel processing in chunks of float4 // chpb - chunks per quantization block -template +template void kernel_mul_mv_ext_q4_f32_impl( constant ggml_metal_kargs_mul_mv_ext & args, device const char * src0, @@ -3117,6 +3122,9 @@ void kernel_mul_mv_ext_q4_f32_impl( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { + const short NSG = FC_mul_mv_nsg; + const short nxpsg = FC_mul_mv_nxpsg; + const short chpt = 4; // chunks per thread //const short nxpsg = (32); @@ -3125,7 +3133,7 @@ void kernel_mul_mv_ext_q4_f32_impl( const short tx = tiisg%nxpsg; const short ty = tiisg/nxpsg; - const int i01 = tgpig.x*(nypsg*args.nsg) + nypsg*sgitg + ty; + const int i01 = tgpig.x*(nypsg*NSG) + nypsg*sgitg + ty; const int i11 = tgpig.y*r1ptg; const int i1m = tgpig.z; @@ -3208,7 +3216,7 @@ void kernel_mul_mv_ext_q4_f32_impl( } // mat-vec kernel processing in chunks of float4x4 -template +template void kernel_mul_mv_ext_q4x4_f32_impl( constant ggml_metal_kargs_mul_mv_ext & args, device const char * src0, @@ -3217,6 +3225,9 @@ void kernel_mul_mv_ext_q4x4_f32_impl( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { + const short NSG = FC_mul_mv_nsg; + const short nxpsg = FC_mul_mv_nxpsg; + const short chpt = 1; //const short nxpsg = (32); @@ -3225,7 +3236,7 @@ void kernel_mul_mv_ext_q4x4_f32_impl( const short tx = tiisg%nxpsg; const short ty = tiisg/nxpsg; - const int i01 = tgpig.x*(nypsg*args.nsg) + nypsg*sgitg + ty; + const int i01 = tgpig.x*(nypsg*NSG) + nypsg*sgitg + ty; const int i11 = tgpig.y*r1ptg; const int i1m = tgpig.z; @@ -3322,12 +3333,7 @@ kernel void kernel_mul_mv_ext_q4_f32_disp( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - switch (args.nxpsg) { - case 4: kernel_mul_mv_ext_q4_f32_impl<4, r1ptg, q_t, epb/4, deq_t4>(args, src0, src1, dst, tgpig, tiisg, sgitg); break; - case 8: kernel_mul_mv_ext_q4_f32_impl<8, r1ptg, q_t, epb/4, deq_t4>(args, src0, src1, dst, tgpig, tiisg, sgitg); break; - case 16: kernel_mul_mv_ext_q4_f32_impl<16, r1ptg, q_t, epb/4, deq_t4>(args, src0, src1, dst, tgpig, tiisg, sgitg); break; - case 32: kernel_mul_mv_ext_q4_f32_impl<32, r1ptg, q_t, epb/4, deq_t4>(args, src0, src1, dst, tgpig, tiisg, sgitg); break; - } + kernel_mul_mv_ext_q4_f32_impl(args, src0, src1, dst, tgpig, tiisg, sgitg); } template @@ -3339,12 +3345,7 @@ kernel void kernel_mul_mv_ext_q4x4_f32_disp( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - switch (args.nxpsg) { - case 4: kernel_mul_mv_ext_q4x4_f32_impl<4, r1ptg, q_t, epb/16, deq_t4x4>(args, src0, src1, dst, tgpig, tiisg, sgitg); break; - case 8: kernel_mul_mv_ext_q4x4_f32_impl<8, r1ptg, q_t, epb/16, deq_t4x4>(args, src0, src1, dst, tgpig, tiisg, sgitg); break; - case 16: kernel_mul_mv_ext_q4x4_f32_impl<16, r1ptg, q_t, epb/16, deq_t4x4>(args, src0, src1, dst, tgpig, tiisg, sgitg); break; - case 32: kernel_mul_mv_ext_q4x4_f32_impl<32, r1ptg, q_t, epb/16, deq_t4x4>(args, src0, src1, dst, tgpig, tiisg, sgitg); break; - } + kernel_mul_mv_ext_q4x4_f32_impl(args, src0, src1, dst, tgpig, tiisg, sgitg); } typedef decltype(kernel_mul_mv_ext_q4_f32_disp <2, block_q8_0, 32, dequantize_q8_0_t4>) mul_mv_ext_q4_f32_t; @@ -3410,7 +3411,7 @@ template [[host_name("kernel_mul_mv_ext_q6_K_f32_r1_3")]] kernel mul_mv_ext_q4x4 template [[host_name("kernel_mul_mv_ext_q6_K_f32_r1_4")]] kernel mul_mv_ext_q4x4_f32_t kernel_mul_mv_ext_q4x4_f32_disp<4, block_q6_K, 256, dequantize_q6_K>; template [[host_name("kernel_mul_mv_ext_q6_K_f32_r1_5")]] kernel mul_mv_ext_q4x4_f32_t kernel_mul_mv_ext_q4x4_f32_disp<5, block_q6_K, 256, dequantize_q6_K>; -template +template void kernel_mul_mv_t_t_impl( args_t args, device const char * src0, @@ -3422,6 +3423,7 @@ void kernel_mul_mv_t_t_impl( ushort sgitg) { const short NSG = FC_mul_mv_nsg; + constexpr short NW = N_SIMDWIDTH; constexpr short NB = 32; constexpr short NF = 8; @@ -3486,10 +3488,10 @@ void kernel_mul_mv_t_t_impl( device float * dst_f32 = (device float *) dst + (uint64_t)im*args.ne0*args.ne1 + (uint64_t)r1*args.ne0; - helper_mv_reduce_and_write(dst_f32, sumf, r0, args.ne01, tiisg, sgitg, shmem); + helper_mv_reduce_and_write(dst_f32, sumf, r0, args.ne01, tiisg, sgitg, shmem); } -template +template kernel void kernel_mul_mv_t_t( constant ggml_metal_kargs_mul_mv & args, device const char * src0, @@ -3499,20 +3501,20 @@ kernel void kernel_mul_mv_t_t( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_t_t_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_t_t_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -typedef decltype(kernel_mul_mv_t_t) mul_mv_t_t; +typedef decltype(kernel_mul_mv_t_t) mul_mv_t_t; -template [[host_name("kernel_mul_mv_f32_f32")]] kernel mul_mv_t_t kernel_mul_mv_t_t; -template [[host_name("kernel_mul_mv_f16_f32")]] kernel mul_mv_t_t kernel_mul_mv_t_t; -template [[host_name("kernel_mul_mv_f16_f16")]] kernel mul_mv_t_t kernel_mul_mv_t_t; +template [[host_name("kernel_mul_mv_f32_f32")]] kernel mul_mv_t_t kernel_mul_mv_t_t; +template [[host_name("kernel_mul_mv_f16_f32")]] kernel mul_mv_t_t kernel_mul_mv_t_t; +template [[host_name("kernel_mul_mv_f16_f16")]] kernel mul_mv_t_t kernel_mul_mv_t_t; #if defined(GGML_METAL_HAS_BF16) -template [[host_name("kernel_mul_mv_bf16_f32")]] kernel mul_mv_t_t kernel_mul_mv_t_t; -template [[host_name("kernel_mul_mv_bf16_bf16")]] kernel mul_mv_t_t kernel_mul_mv_t_t; +template [[host_name("kernel_mul_mv_bf16_f32")]] kernel mul_mv_t_t kernel_mul_mv_t_t; +template [[host_name("kernel_mul_mv_bf16_bf16")]] kernel mul_mv_t_t kernel_mul_mv_t_t; #endif -template +template void kernel_mul_mv_t_t_4_impl( args_t args, device const char * src0, @@ -3524,6 +3526,7 @@ void kernel_mul_mv_t_t_4_impl( ushort sgitg) { const short NSG = FC_mul_mv_nsg; + constexpr short NW = N_SIMDWIDTH; constexpr short NB = 32; constexpr short NF = 16; constexpr short NF4 = NF/4; @@ -3591,10 +3594,10 @@ void kernel_mul_mv_t_t_4_impl( device float * dst_f32 = (device float *) dst + (uint64_t)im*args.ne0*args.ne1 + (uint64_t)r1*args.ne0; - helper_mv_reduce_and_write(dst_f32, sumf, r0, args.ne01, tiisg, sgitg, shmem); + helper_mv_reduce_and_write(dst_f32, sumf, r0, args.ne01, tiisg, sgitg, shmem); } -template +template kernel void kernel_mul_mv_t_t_4( constant ggml_metal_kargs_mul_mv & args, device const char * src0, @@ -3604,17 +3607,17 @@ kernel void kernel_mul_mv_t_t_4( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_t_t_4_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_t_t_4_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -typedef decltype(kernel_mul_mv_t_t_4) mul_mv_t_t_4; +typedef decltype(kernel_mul_mv_t_t_4) mul_mv_t_t_4; -template [[host_name("kernel_mul_mv_f32_f32_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; -template [[host_name("kernel_mul_mv_f16_f32_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; -template [[host_name("kernel_mul_mv_f16_f16_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; +template [[host_name("kernel_mul_mv_f32_f32_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; +template [[host_name("kernel_mul_mv_f16_f32_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; +template [[host_name("kernel_mul_mv_f16_f16_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; #if defined(GGML_METAL_HAS_BF16) -template [[host_name("kernel_mul_mv_bf16_f32_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; -template [[host_name("kernel_mul_mv_bf16_bf16_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; +template [[host_name("kernel_mul_mv_bf16_f32_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; +template [[host_name("kernel_mul_mv_bf16_bf16_4")]] kernel mul_mv_t_t_4 kernel_mul_mv_t_t_4; #endif #define N_MV_T_T 4 @@ -5966,7 +5969,7 @@ kernel void kernel_concat( } } -template +template void kernel_mul_mv_q2_K_f32_impl( args_t args, device const char * src0, @@ -6068,10 +6071,10 @@ kernel void kernel_mul_mv_q2_K_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q2_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_q2_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_q3_K_f32_impl( args_t args, device const char * src0, @@ -6233,10 +6236,10 @@ kernel void kernel_mul_mv_q3_K_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q3_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_q3_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_q4_K_f32_impl( args_t args, device const char * src0, @@ -6248,9 +6251,9 @@ void kernel_mul_mv_q4_K_f32_impl( ushort sgitg) { const short NSG = FC_mul_mv_nsg; - const uint16_t kmask1 = 0x3f3f; - const uint16_t kmask2 = 0x0f0f; - const uint16_t kmask3 = 0xc0c0; + constexpr uint16_t kmask1 = 0x3f3f; + constexpr uint16_t kmask2 = 0x0f0f; + constexpr uint16_t kmask3 = 0xc0c0; const short ix = tiisg/8; // 0...3 const short it = tiisg%8; // 0...7 @@ -6309,7 +6312,7 @@ void kernel_mul_mv_q4_K_f32_impl( float4 acc1 = {0.f, 0.f, 0.f, 0.f}; float4 acc2 = {0.f, 0.f, 0.f, 0.f}; - for (short i = 0; i < 4; ++i) { + FOR_UNROLL (short i = 0; i < 4; ++i) { acc1[0] += yl[2*i + 0] * (q1[i] & 0x000F); acc1[1] += yl[2*i + 1] * (q1[i] & 0x0F00); acc1[2] += yl[2*i + 8] * (q1[i] & 0x00F0); @@ -6320,14 +6323,11 @@ void kernel_mul_mv_q4_K_f32_impl( acc2[3] += yh[2*i + 9] * (q2[i] & 0xF000); } - float dall = dh[0]; - float dmin = dh[1]; - - sumf[row] += dall * ((acc1[0] + 1.f/256.f * acc1[1]) * sc8[0] + - (acc1[2] + 1.f/256.f * acc1[3]) * sc8[1] * 1.f/16.f + - (acc2[0] + 1.f/256.f * acc2[1]) * sc8[4] + - (acc2[2] + 1.f/256.f * acc2[3]) * sc8[5] * 1.f/16.f) - - dmin * (sumy[0] * sc8[2] + sumy[1] * sc8[3] + sumy[2] * sc8[6] + sumy[3] * sc8[7]); + sumf[row] += dh[0] * ((acc1[0] + 1.f/256.f * acc1[1]) * sc8[0] + + (acc1[2] + 1.f/256.f * acc1[3]) * sc8[1] * 1.f/16.f + + (acc2[0] + 1.f/256.f * acc2[1]) * sc8[4] + + (acc2[2] + 1.f/256.f * acc2[3]) * sc8[5] * 1.f/16.f) - + dh[1] * (sumy[0] * sc8[2] + sumy[1] * sc8[3] + sumy[2] * sc8[6] + sumy[3] * sc8[7]); q1 += args.nb01/2; sc += args.nb01/2; @@ -6357,10 +6357,10 @@ kernel void kernel_mul_mv_q4_K_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q4_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_q4_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_q5_K_f32_impl( args_t args, device const char * src0, @@ -6393,9 +6393,9 @@ void kernel_mul_mv_q5_K_f32_impl( float yl[16], yh[16]; - const uint16_t kmask1 = 0x3f3f; - const uint16_t kmask2 = 0x0f0f; - const uint16_t kmask3 = 0xc0c0; + constexpr uint16_t kmask1 = 0x3f3f; + constexpr uint16_t kmask2 = 0x0f0f; + constexpr uint16_t kmask3 = 0xc0c0; const short tid = tiisg/4; const short ix = tiisg%4; @@ -6441,7 +6441,7 @@ void kernel_mul_mv_q5_K_f32_impl( float4 acc1 = {0.f}; float4 acc2 = {0.f}; - for (short l = 0; l < 8; ++l) { + FOR_UNROLL (short l = 0; l < 8; ++l) { uint8_t h = qh[l]; acc1[0] += yl[l+0] * (q1[l] & 0x0F); acc1[1] += yl[l+8] * (q1[l] & 0xF0); @@ -6452,13 +6452,12 @@ void kernel_mul_mv_q5_K_f32_impl( acc2[2] += h & hm3 ? yh[l+0] : 0.f; acc2[3] += h & hm4 ? yh[l+8] : 0.f; } - const float dall = dh[0]; - const float dmin = dh[1]; - sumf[row] += dall * (sc8[0] * (acc1[0] + 16.f*acc2[0]) + - sc8[1] * (acc1[1]/16.f + 16.f*acc2[1]) + - sc8[4] * (acc1[2] + 16.f*acc2[2]) + - sc8[5] * (acc1[3]/16.f + 16.f*acc2[3])) - - dmin * (sumy[0] * sc8[2] + sumy[1] * sc8[3] + sumy[2] * sc8[6] + sumy[3] * sc8[7]); + + sumf[row] += dh[0] * (sc8[0] * (acc1[0] + 16.f*acc2[0]) + + sc8[1] * (acc1[1]/16.f + 16.f*acc2[1]) + + sc8[4] * (acc1[2] + 16.f*acc2[2]) + + sc8[5] * (acc1[3]/16.f + 16.f*acc2[3])) - + dh[1] * (sumy[0] * sc8[2] + sumy[1] * sc8[3] + sumy[2] * sc8[6] + sumy[3] * sc8[7]); q1 += args.nb01; qh += args.nb01; @@ -6489,10 +6488,10 @@ kernel void kernel_mul_mv_q5_K_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q5_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_q5_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_q6_K_f32_impl( args_t args, device const char * src0, @@ -6504,10 +6503,10 @@ void kernel_mul_mv_q6_K_f32_impl( ushort sgitg) { const short NSG = FC_mul_mv_nsg; - const uint8_t kmask1 = 0x03; - const uint8_t kmask2 = 0x0C; - const uint8_t kmask3 = 0x30; - const uint8_t kmask4 = 0xC0; + constexpr uint8_t kmask1 = 0x03; + constexpr uint8_t kmask2 = 0x0C; + constexpr uint8_t kmask3 = 0x30; + constexpr uint8_t kmask4 = 0xC0; const int nb = args.ne00/QK_K; @@ -6558,18 +6557,16 @@ void kernel_mul_mv_q6_K_f32_impl( } for (short row = 0; row < nr0; ++row) { - const float dall = dh[0]; - float4 sums = {0.f, 0.f, 0.f, 0.f}; - for (short l = 0; l < 4; ++l) { + FOR_UNROLL (short l = 0; l < 4; ++l) { sums[0] += yl[4*l + 0] * ((int8_t)((q1[l] & 0xF) | ((qh[l] & kmask1) << 4)) - 32); sums[1] += yl[4*l + 1] * ((int8_t)((q2[l] & 0xF) | ((qh[l] & kmask2) << 2)) - 32); sums[2] += yl[4*l + 2] * ((int8_t)((q1[l] >> 4) | ((qh[l] & kmask3) << 0)) - 32); sums[3] += yl[4*l + 3] * ((int8_t)((q2[l] >> 4) | ((qh[l] & kmask4) >> 2)) - 32); } - sumf[row] += dall * (sums[0] * sc[0] + sums[1] * sc[2] + sums[2] * sc[4] + sums[3] * sc[6]); + sumf[row] += dh[0] * (sums[0] * sc[0] + sums[1] * sc[2] + sums[2] * sc[4] + sums[3] * sc[6]); q1 += args.nb01; q2 += args.nb01; @@ -6599,12 +6596,12 @@ kernel void kernel_mul_mv_q6_K_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_q6_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_q6_K_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } // ======================= "True" 2-bit -template +template void kernel_mul_mv_iq2_xxs_f32_impl( args_t args, device const char * src0, @@ -6709,10 +6706,10 @@ kernel void kernel_mul_mv_iq2_xxs_f32( uint3 tgpig[[threadgroup_position_in_grid]], ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq2_xxs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq2_xxs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq2_xs_f32_impl( args_t args, device const char * src0, @@ -6828,10 +6825,10 @@ kernel void kernel_mul_mv_iq2_xs_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq2_xs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq2_xs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq3_xxs_f32_impl( args_t args, device const char * src0, @@ -6940,10 +6937,10 @@ kernel void kernel_mul_mv_iq3_xxs_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq3_xxs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq3_xxs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq3_s_f32_impl( args_t args, device const char * src0, @@ -7052,10 +7049,10 @@ kernel void kernel_mul_mv_iq3_s_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq3_s_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq3_s_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq2_s_f32_impl( args_t args, device const char * src0, @@ -7165,10 +7162,10 @@ kernel void kernel_mul_mv_iq2_s_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq2_s_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq2_s_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq1_s_f32_impl( args_t args, device const char * src0, @@ -7264,10 +7261,10 @@ kernel void kernel_mul_mv_iq1_s_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq1_s_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_iq1_s_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq1_m_f32_impl( args_t args, device const char * src0, @@ -7373,10 +7370,10 @@ kernel void kernel_mul_mv_iq1_m_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq1_m_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); + kernel_mul_mv_iq1_m_f32_impl(args, src0, src1, dst, nullptr, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq4_nl_f32_impl( args_t args, device const char * src0, @@ -7480,10 +7477,10 @@ kernel void kernel_mul_mv_iq4_nl_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq4_nl_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq4_nl_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_iq4_xs_f32_impl( args_t args, device const char * src0, @@ -7587,10 +7584,10 @@ kernel void kernel_mul_mv_iq4_xs_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_iq4_xs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_iq4_xs_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -template +template void kernel_mul_mv_mxfp4_f32_impl( args_t args, device const char * src0, @@ -7677,7 +7674,7 @@ kernel void kernel_mul_mv_mxfp4_f32( ushort tiisg[[thread_index_in_simdgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]]) { - kernel_mul_mv_mxfp4_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); + kernel_mul_mv_mxfp4_f32_impl(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } template @@ -8353,7 +8350,7 @@ void mmv_fn( impl_fn(args, src0, src1, dst, shmem, tgpig, tiisg, sgitg); } -typedef decltype(mmv_fn>) mul_mv_impl_fn_t; +typedef decltype(mmv_fn>) mul_mv_impl_fn_t; template kernel void kernel_mul_mv_id( @@ -8418,44 +8415,44 @@ kernel void kernel_mul_mv_id( sgitg); } -typedef decltype(kernel_mul_mv_id>>) kernel_mul_mv_id_t; +typedef decltype(kernel_mul_mv_id>>) kernel_mul_mv_id_t; -typedef decltype(kernel_mul_mv_id>>) kernel_mul_mv_id_4_t; +typedef decltype(kernel_mul_mv_id>>) kernel_mul_mv_id_4_t; -template [[host_name("kernel_mul_mv_id_f32_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_f16_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_f32_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_f16_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; #if defined(GGML_METAL_HAS_BF16) -template [[host_name("kernel_mul_mv_id_bf16_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_bf16_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; #endif -template [[host_name("kernel_mul_mv_id_f32_f32_4")]] kernel kernel_mul_mv_id_4_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_f16_f32_4")]] kernel kernel_mul_mv_id_4_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_f32_f32_4")]] kernel kernel_mul_mv_id_4_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_f16_f32_4")]] kernel kernel_mul_mv_id_4_t kernel_mul_mv_id>>; #if defined(GGML_METAL_HAS_BF16) -template [[host_name("kernel_mul_mv_id_bf16_f32_4")]] kernel kernel_mul_mv_id_4_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_bf16_f32_4")]] kernel kernel_mul_mv_id_4_t kernel_mul_mv_id>>; #endif -template [[host_name("kernel_mul_mv_id_q8_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q8_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q4_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q4_1_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q5_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q5_1_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q4_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q4_1_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q5_0_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q5_1_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_mxfp4_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_mxfp4_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q2_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q3_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q4_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q5_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_q6_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq1_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq1_m_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq2_xxs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq2_xs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq3_xxs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq3_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq2_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq4_nl_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; -template [[host_name("kernel_mul_mv_id_iq4_xs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q2_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q3_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q4_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q5_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_q6_K_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq1_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq1_m_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq2_xxs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq2_xs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq3_xxs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq3_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq2_s_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq4_nl_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; +template [[host_name("kernel_mul_mv_id_iq4_xs_f32")]] kernel kernel_mul_mv_id_t kernel_mul_mv_id>>; kernel void kernel_pool_2d_max_f32( constant ggml_metal_kargs_pool_2d & args, From 4ca088b036313c2d8e682f4cfeb7c29edd85d0b9 Mon Sep 17 00:00:00 2001 From: Eric Curtin Date: Thu, 18 Sep 2025 16:22:50 +0100 Subject: [PATCH 36/52] Add resumable downloads for llama-server model loading (#15963) - Implement resumable downloads in common_download_file_single function - Add detection of partial download files (.downloadInProgress) - Check server support for HTTP Range requests via Accept-Ranges header - Implement HTTP Range request with "bytes=-" header - Open files in append mode when resuming vs create mode for new downloads Signed-off-by: Eric Curtin --- common/arg.cpp | 484 ++++++++++++++++++++++++++++--------------------- 1 file changed, 274 insertions(+), 210 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 9fd8858e82..54df2df872 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -57,12 +57,32 @@ static std::string read_file(const std::string & fname) { } static void write_file(const std::string & fname, const std::string & content) { - std::ofstream file(fname); + const std::string fname_tmp = fname + ".tmp"; + std::ofstream file(fname_tmp); if (!file) { throw std::runtime_error(string_format("error: failed to open file '%s'\n", fname.c_str())); } - file << content; - file.close(); + + try { + file << content; + file.close(); + + // Makes write atomic + if (rename(fname_tmp.c_str(), fname.c_str()) != 0) { + LOG_ERR("%s: unable to rename file: %s to %s\n", __func__, fname_tmp.c_str(), fname.c_str()); + // If rename fails, try to delete the temporary file + if (remove(fname_tmp.c_str()) != 0) { + LOG_ERR("%s: unable to delete temporary file: %s\n", __func__, fname_tmp.c_str()); + } + } + } catch (...) { + // If anything fails, try to delete the temporary file + if (remove(fname_tmp.c_str()) != 0) { + LOG_ERR("%s: unable to delete temporary file: %s\n", __func__, fname_tmp.c_str()); + } + + throw std::runtime_error(string_format("error: failed to write file '%s'\n", fname.c_str())); + } } common_arg & common_arg::set_examples(std::initializer_list examples) { @@ -217,250 +237,294 @@ struct curl_slist_ptr { } }; -#define CURL_MAX_RETRY 3 -#define CURL_RETRY_DELAY_SECONDS 2 - -static bool curl_perform_with_retry(const std::string & url, CURL * curl, int max_attempts, int retry_delay_seconds, const char * method_name) { - int remaining_attempts = max_attempts; - - while (remaining_attempts > 0) { - LOG_INF("%s: %s %s (attempt %d of %d)...\n", __func__ , method_name, url.c_str(), max_attempts - remaining_attempts + 1, max_attempts); - - CURLcode res = curl_easy_perform(curl); - if (res == CURLE_OK) { - return true; - } - - int exponential_backoff_delay = std::pow(retry_delay_seconds, max_attempts - remaining_attempts) * 1000; - LOG_WRN("%s: curl_easy_perform() failed: %s, retrying after %d milliseconds...\n", __func__, curl_easy_strerror(res), exponential_backoff_delay); - - remaining_attempts--; - if (remaining_attempts == 0) break; - std::this_thread::sleep_for(std::chrono::milliseconds(exponential_backoff_delay)); +static CURLcode common_curl_perf(CURL * curl) { + CURLcode res = curl_easy_perform(curl); + if (res != CURLE_OK) { + LOG_ERR("%s: curl_easy_perform() failed\n", __func__); } - LOG_ERR("%s: curl_easy_perform() failed after %d attempts\n", __func__, max_attempts); - - return false; + return res; } -// download one single file from remote URL to local path -static bool common_download_file_single(const std::string & url, const std::string & path, const std::string & bearer_token, bool offline) { - // Check if the file already exists locally - auto file_exists = std::filesystem::exists(path); - - // If the file exists, check its JSON metadata companion file. - std::string metadata_path = path + ".json"; - nlohmann::json metadata; // TODO @ngxson : get rid of this json, use regex instead +// Send a HEAD request to retrieve the etag and last-modified headers +struct common_load_model_from_url_headers { std::string etag; std::string last_modified; + std::string accept_ranges; +}; - if (file_exists) { - if (offline) { - LOG_INF("%s: using cached file (offline mode): %s\n", __func__, path.c_str()); - return true; // skip verification/downloading +struct FILE_deleter { + void operator()(FILE * f) const { fclose(f); } +}; + +static size_t common_header_callback(char * buffer, size_t, size_t n_items, void * userdata) { + common_load_model_from_url_headers * headers = (common_load_model_from_url_headers *) userdata; + static std::regex header_regex("([^:]+): (.*)\r\n"); + static std::regex etag_regex("ETag", std::regex_constants::icase); + static std::regex last_modified_regex("Last-Modified", std::regex_constants::icase); + static std::regex accept_ranges_regex("Accept-Ranges", std::regex_constants::icase); + std::string header(buffer, n_items); + std::smatch match; + if (std::regex_match(header, match, header_regex)) { + const std::string & key = match[1]; + const std::string & value = match[2]; + if (std::regex_match(key, match, etag_regex)) { + headers->etag = value; + } else if (std::regex_match(key, match, last_modified_regex)) { + headers->last_modified = value; + } else if (std::regex_match(key, match, accept_ranges_regex)) { + headers->accept_ranges = value; } - // Try and read the JSON metadata file (note: stream autoclosed upon exiting this block). - std::ifstream metadata_in(metadata_path); - if (metadata_in.good()) { - try { - metadata_in >> metadata; - LOG_DBG("%s: previous metadata file found %s: %s\n", __func__, metadata_path.c_str(), metadata.dump().c_str()); - if (metadata.contains("etag") && metadata.at("etag").is_string()) { - etag = metadata.at("etag"); - } - if (metadata.contains("lastModified") && metadata.at("lastModified").is_string()) { - last_modified = metadata.at("lastModified"); - } - } catch (const nlohmann::json::exception & e) { - LOG_ERR("%s: error reading metadata file %s: %s\n", __func__, metadata_path.c_str(), e.what()); - } - } - // if we cannot open the metadata file, we assume that the downloaded file is not valid (etag and last-modified are left empty, so we will download it again) - } else { - if (offline) { - LOG_ERR("%s: required file is not available in cache (offline mode): %s\n", __func__, path.c_str()); - return false; - } - LOG_INF("%s: no previous model file found %s\n", __func__, path.c_str()); } - // Send a HEAD request to retrieve the etag and last-modified headers - struct common_load_model_from_url_headers { - std::string etag; - std::string last_modified; - }; + return n_items; +} - common_load_model_from_url_headers headers; - bool head_request_ok = false; - bool should_download = !file_exists; // by default, we should download if the file does not exist +static size_t common_write_callback(void * data, size_t size, size_t nmemb, void * fd) { + return std::fwrite(data, size, nmemb, static_cast(fd)); +} - // Initialize libcurl - curl_ptr curl(curl_easy_init(), &curl_easy_cleanup); - curl_slist_ptr http_headers; +// helper function to hide password in URL +static std::string llama_download_hide_password_in_url(const std::string & url) { + // Use regex to match and replace the user[:password]@ pattern in URLs + // Pattern: scheme://[user[:password]@]host[...] + static const std::regex url_regex(R"(^(?:[A-Za-z][A-Za-z0-9+.-]://)(?:[^/@]+@)?.$)"); + std::smatch match; + + if (std::regex_match(url, match, url_regex)) { + // match[1] = scheme (e.g., "https://") + // match[2] = user[:password]@ part + // match[3] = rest of URL (host and path) + return match[1].str() + "********@" + match[3].str(); + } + + return url; // No credentials found or malformed URL +} + +static void common_curl_easy_setopt_head(CURL * curl, const std::string & url) { + // Set the URL, allow to follow http redirection + curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); + curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); + +# if defined(_WIN32) + // CURLSSLOPT_NATIVE_CA tells libcurl to use standard certificate store of + // operating system. Currently implemented under MS-Windows. + curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, CURLSSLOPT_NATIVE_CA); +# endif + + curl_easy_setopt(curl, CURLOPT_NOBODY, 1L); // will trigger the HEAD verb + curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L); // hide head request progress + curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, common_header_callback); +} + +static void common_curl_easy_setopt_get(CURL * curl) { + curl_easy_setopt(curl, CURLOPT_NOBODY, 0L); + curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, common_write_callback); + + // display download progress + curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L); +} + +static bool common_pull_file(CURL * curl, const std::string & path_temporary) { + if (std::filesystem::exists(path_temporary)) { + const std::string partial_size = std::to_string(std::filesystem::file_size(path_temporary)); + LOG_INF("%s: server supports range requests, resuming download from byte %s\n", __func__, partial_size.c_str()); + const std::string range_str = partial_size + "-"; + curl_easy_setopt(curl, CURLOPT_RANGE, range_str.c_str()); + } + + // Always open file in append mode could be resuming + std::unique_ptr outfile(fopen(path_temporary.c_str(), "ab")); + if (!outfile) { + LOG_ERR("%s: error opening local file for writing: %s\n", __func__, path_temporary.c_str()); + return false; + } + + common_curl_easy_setopt_get(curl); + curl_easy_setopt(curl, CURLOPT_WRITEDATA, outfile.get()); + + return common_curl_perf(curl) == CURLE_OK; +} + +static bool common_download_head(CURL * curl, + curl_slist_ptr & http_headers, + const std::string & url, + const std::string & bearer_token) { if (!curl) { LOG_ERR("%s: error initializing libcurl\n", __func__); return false; } - // Set the URL, allow to follow http redirection - curl_easy_setopt(curl.get(), CURLOPT_URL, url.c_str()); - curl_easy_setopt(curl.get(), CURLOPT_FOLLOWLOCATION, 1L); - http_headers.ptr = curl_slist_append(http_headers.ptr, "User-Agent: llama-cpp"); // Check if hf-token or bearer-token was specified if (!bearer_token.empty()) { std::string auth_header = "Authorization: Bearer " + bearer_token; - http_headers.ptr = curl_slist_append(http_headers.ptr, auth_header.c_str()); - } - curl_easy_setopt(curl.get(), CURLOPT_HTTPHEADER, http_headers.ptr); - -#if defined(_WIN32) - // CURLSSLOPT_NATIVE_CA tells libcurl to use standard certificate store of - // operating system. Currently implemented under MS-Windows. - curl_easy_setopt(curl.get(), CURLOPT_SSL_OPTIONS, CURLSSLOPT_NATIVE_CA); -#endif - - typedef size_t(*CURLOPT_HEADERFUNCTION_PTR)(char *, size_t, size_t, void *); - auto header_callback = [](char * buffer, size_t /*size*/, size_t n_items, void * userdata) -> size_t { - common_load_model_from_url_headers * headers = (common_load_model_from_url_headers *) userdata; - - static std::regex header_regex("([^:]+): (.*)\r\n"); - static std::regex etag_regex("ETag", std::regex_constants::icase); - static std::regex last_modified_regex("Last-Modified", std::regex_constants::icase); - - std::string header(buffer, n_items); - std::smatch match; - if (std::regex_match(header, match, header_regex)) { - const std::string & key = match[1]; - const std::string & value = match[2]; - if (std::regex_match(key, match, etag_regex)) { - headers->etag = value; - } else if (std::regex_match(key, match, last_modified_regex)) { - headers->last_modified = value; - } - } - return n_items; - }; - - curl_easy_setopt(curl.get(), CURLOPT_NOBODY, 1L); // will trigger the HEAD verb - curl_easy_setopt(curl.get(), CURLOPT_NOPROGRESS, 1L); // hide head request progress - curl_easy_setopt(curl.get(), CURLOPT_HEADERFUNCTION, static_cast(header_callback)); - curl_easy_setopt(curl.get(), CURLOPT_HEADERDATA, &headers); - - // we only allow retrying once for HEAD requests - // this is for the use case of using running offline (no internet), retrying can be annoying - bool was_perform_successful = curl_perform_with_retry(url, curl.get(), 1, 0, "HEAD"); - if (!was_perform_successful) { - head_request_ok = false; + http_headers.ptr = curl_slist_append(http_headers.ptr, auth_header.c_str()); } - long http_code = 0; - curl_easy_getinfo(curl.get(), CURLINFO_RESPONSE_CODE, &http_code); - if (http_code == 200) { - head_request_ok = true; - } else { - LOG_WRN("%s: HEAD invalid http status code received: %ld\n", __func__, http_code); - head_request_ok = false; - } + curl_easy_setopt(curl, CURLOPT_HTTPHEADER, http_headers.ptr); + common_curl_easy_setopt_head(curl, url); + return common_curl_perf(curl) == CURLE_OK; +} - // if head_request_ok is false, we don't have the etag or last-modified headers - // we leave should_download as-is, which is true if the file does not exist - if (head_request_ok) { - // check if ETag or Last-Modified headers are different - // if it is, we need to download the file again - if (!etag.empty() && etag != headers.etag) { - LOG_WRN("%s: ETag header is different (%s != %s): triggering a new download\n", __func__, etag.c_str(), headers.etag.c_str()); - should_download = true; - } else if (!last_modified.empty() && last_modified != headers.last_modified) { - LOG_WRN("%s: Last-Modified header is different (%s != %s): triggering a new download\n", __func__, last_modified.c_str(), headers.last_modified.c_str()); - should_download = true; - } - } +// download one single file from remote URL to local path +static bool common_download_file_single(const std::string & url, + const std::string & path, + const std::string & bearer_token, + bool offline) { + // If the file exists, check its JSON metadata companion file. + std::string metadata_path = path + ".json"; + static const int max_attempts = 3; + static const int retry_delay_seconds = 2; + for (int i = 0; i < max_attempts; ++i) { + nlohmann::json metadata; // TODO @ngxson : get rid of this json, use regex instead + std::string etag; + std::string last_modified; - if (should_download) { - std::string path_temporary = path + ".downloadInProgress"; + // Check if the file already exists locally + const auto file_exists = std::filesystem::exists(path); if (file_exists) { - LOG_WRN("%s: deleting previous downloaded file: %s\n", __func__, path.c_str()); - if (remove(path.c_str()) != 0) { - LOG_ERR("%s: unable to delete file: %s\n", __func__, path.c_str()); + if (offline) { + LOG_INF("%s: using cached file (offline mode): %s\n", __func__, path.c_str()); + return true; // skip verification/downloading + } + // Try and read the JSON metadata file (note: stream autoclosed upon exiting this block). + std::ifstream metadata_in(metadata_path); + if (metadata_in.good()) { + try { + metadata_in >> metadata; + LOG_DBG("%s: previous metadata file found %s: %s\n", __func__, metadata_path.c_str(), + metadata.dump().c_str()); + if (metadata.contains("etag") && metadata.at("etag").is_string()) { + etag = metadata.at("etag"); + } + if (metadata.contains("lastModified") && metadata.at("lastModified").is_string()) { + last_modified = metadata.at("lastModified"); + } + } catch (const nlohmann::json::exception & e) { + LOG_ERR("%s: error reading metadata file %s: %s\n", __func__, metadata_path.c_str(), e.what()); + } + } + // if we cannot open the metadata file, we assume that the downloaded file is not valid (etag and last-modified are left empty, so we will download it again) + } else { + if (offline) { + LOG_ERR("%s: required file is not available in cache (offline mode): %s\n", __func__, path.c_str()); return false; } + LOG_INF("%s: no previous model file found %s\n", __func__, path.c_str()); } - // Set the output file + bool head_request_ok = false; + bool should_download = !file_exists; // by default, we should download if the file does not exist - struct FILE_deleter { - void operator()(FILE * f) const { - fclose(f); - } - }; - - std::unique_ptr outfile(fopen(path_temporary.c_str(), "wb")); - if (!outfile) { - LOG_ERR("%s: error opening local file for writing: %s\n", __func__, path.c_str()); - return false; - } - - typedef size_t(*CURLOPT_WRITEFUNCTION_PTR)(void * data, size_t size, size_t nmemb, void * fd); - auto write_callback = [](void * data, size_t size, size_t nmemb, void * fd) -> size_t { - return fwrite(data, size, nmemb, (FILE *)fd); - }; - curl_easy_setopt(curl.get(), CURLOPT_NOBODY, 0L); - curl_easy_setopt(curl.get(), CURLOPT_WRITEFUNCTION, static_cast(write_callback)); - curl_easy_setopt(curl.get(), CURLOPT_WRITEDATA, outfile.get()); - - // display download progress - curl_easy_setopt(curl.get(), CURLOPT_NOPROGRESS, 0L); - - // helper function to hide password in URL - auto llama_download_hide_password_in_url = [](const std::string & url) -> std::string { - std::size_t protocol_pos = url.find("://"); - if (protocol_pos == std::string::npos) { - return url; // Malformed URL - } - - std::size_t at_pos = url.find('@', protocol_pos + 3); - if (at_pos == std::string::npos) { - return url; // No password in URL - } - - return url.substr(0, protocol_pos + 3) + "********" + url.substr(at_pos); - }; - - // start the download - LOG_INF("%s: trying to download model from %s to %s (server_etag:%s, server_last_modified:%s)...\n", __func__, - llama_download_hide_password_in_url(url).c_str(), path.c_str(), headers.etag.c_str(), headers.last_modified.c_str()); - bool was_perform_successful = curl_perform_with_retry(url, curl.get(), CURL_MAX_RETRY, CURL_RETRY_DELAY_SECONDS, "GET"); + // Initialize libcurl + curl_ptr curl(curl_easy_init(), &curl_easy_cleanup); + common_load_model_from_url_headers headers; + curl_easy_setopt(curl.get(), CURLOPT_HEADERDATA, &headers); + curl_slist_ptr http_headers; + const bool was_perform_successful = common_download_head(curl.get(), http_headers, url, bearer_token); if (!was_perform_successful) { - return false; + head_request_ok = false; } long http_code = 0; - curl_easy_getinfo (curl.get(), CURLINFO_RESPONSE_CODE, &http_code); - if (http_code < 200 || http_code >= 400) { - LOG_ERR("%s: invalid http status code received: %ld\n", __func__, http_code); - return false; + curl_easy_getinfo(curl.get(), CURLINFO_RESPONSE_CODE, &http_code); + if (http_code == 200) { + head_request_ok = true; + } else { + LOG_WRN("%s: HEAD invalid http status code received: %ld\n", __func__, http_code); + head_request_ok = false; } - // Causes file to be closed explicitly here before we rename it. - outfile.reset(); - - // Write the updated JSON metadata file. - metadata.update({ - {"url", url}, - {"etag", headers.etag}, - {"lastModified", headers.last_modified} - }); - write_file(metadata_path, metadata.dump(4)); - LOG_DBG("%s: file metadata saved: %s\n", __func__, metadata_path.c_str()); - - if (rename(path_temporary.c_str(), path.c_str()) != 0) { - LOG_ERR("%s: unable to rename file: %s to %s\n", __func__, path_temporary.c_str(), path.c_str()); - return false; + // if head_request_ok is false, we don't have the etag or last-modified headers + // we leave should_download as-is, which is true if the file does not exist + bool should_download_from_scratch = false; + if (head_request_ok) { + // check if ETag or Last-Modified headers are different + // if it is, we need to download the file again + if (!etag.empty() && etag != headers.etag) { + LOG_WRN("%s: ETag header is different (%s != %s): triggering a new download\n", __func__, etag.c_str(), + headers.etag.c_str()); + should_download = true; + should_download_from_scratch = true; + } else if (!last_modified.empty() && last_modified != headers.last_modified) { + LOG_WRN("%s: Last-Modified header is different (%s != %s): triggering a new download\n", __func__, + last_modified.c_str(), headers.last_modified.c_str()); + should_download = true; + should_download_from_scratch = true; + } } - } else { - LOG_INF("%s: using cached file: %s\n", __func__, path.c_str()); + + const bool accept_ranges_supported = !headers.accept_ranges.empty() && headers.accept_ranges != "none"; + if (should_download) { + if (file_exists && + !accept_ranges_supported) { // Resumable downloads not supported, delete and start again. + LOG_WRN("%s: deleting previous downloaded file: %s\n", __func__, path.c_str()); + if (remove(path.c_str()) != 0) { + LOG_ERR("%s: unable to delete file: %s\n", __func__, path.c_str()); + return false; + } + } + + const std::string path_temporary = path + ".downloadInProgress"; + if (should_download_from_scratch) { + if (std::filesystem::exists(path_temporary)) { + if (remove(path_temporary.c_str()) != 0) { + LOG_ERR("%s: unable to delete file: %s\n", __func__, path_temporary.c_str()); + return false; + } + } + + if (std::filesystem::exists(path)) { + if (remove(path.c_str()) != 0) { + LOG_ERR("%s: unable to delete file: %s\n", __func__, path.c_str()); + return false; + } + } + } + + // Write the updated JSON metadata file. + metadata.update({ + { "url", url }, + { "etag", headers.etag }, + { "lastModified", headers.last_modified } + }); + write_file(metadata_path, metadata.dump(4)); + LOG_DBG("%s: file metadata saved: %s\n", __func__, metadata_path.c_str()); + + // start the download + LOG_INF("%s: trying to download model from %s to %s (server_etag:%s, server_last_modified:%s)...\n", + __func__, llama_download_hide_password_in_url(url).c_str(), path_temporary.c_str(), + headers.etag.c_str(), headers.last_modified.c_str()); + const bool was_pull_successful = common_pull_file(curl.get(), path_temporary); + if (!was_pull_successful) { + if (i + 1 < max_attempts) { + const int exponential_backoff_delay = std::pow(retry_delay_seconds, i) * 1000; + LOG_WRN("%s: retrying after %d milliseconds...\n", __func__, exponential_backoff_delay); + std::this_thread::sleep_for(std::chrono::milliseconds(exponential_backoff_delay)); + } else { + LOG_ERR("%s: curl_easy_perform() failed after %d attempts\n", __func__, max_attempts); + } + + continue; + } + + long http_code = 0; + curl_easy_getinfo(curl.get(), CURLINFO_RESPONSE_CODE, &http_code); + if (http_code < 200 || http_code >= 400) { + LOG_ERR("%s: invalid http status code received: %ld\n", __func__, http_code); + return false; + } + + if (rename(path_temporary.c_str(), path.c_str()) != 0) { + LOG_ERR("%s: unable to rename file: %s to %s\n", __func__, path_temporary.c_str(), path.c_str()); + return false; + } + } else { + LOG_INF("%s: using cached file: %s\n", __func__, path.c_str()); + } + + break; } return true; @@ -770,7 +834,7 @@ static std::string common_docker_get_token(const std::string & repo) { } static std::string common_docker_resolve_model(const std::string & docker) { - // Parse ai/smollm2:135M-Q4_K_M + // Parse ai/smollm2:135M-Q4_0 size_t colon_pos = docker.find(':'); std::string repo, tag; if (colon_pos != std::string::npos) { From 368560a1e3b9a3bc83af741b0b2bc9e46fb420d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Thu, 18 Sep 2025 19:28:32 +0200 Subject: [PATCH 37/52] CUDA: fix compilation on CC 6.0 (#16091) --- ggml/src/ggml-cuda/fattn-tile.cu | 2 -- 1 file changed, 2 deletions(-) diff --git a/ggml/src/ggml-cuda/fattn-tile.cu b/ggml/src/ggml-cuda/fattn-tile.cu index a2d9951ea5..131a5099a3 100644 --- a/ggml/src/ggml-cuda/fattn-tile.cu +++ b/ggml/src/ggml-cuda/fattn-tile.cu @@ -35,7 +35,6 @@ static int fattn_tile_get_kq_stride_host(const int D, const int ncols, const int switch (D) { case 64: case 128: - return 128; case 256: return ncols <= 16 ? 128 : 64; default: @@ -86,7 +85,6 @@ static constexpr __device__ int fattn_tile_get_kq_stride_device(int D, int ncols switch (D) { case 64: case 128: - return 128; case 256: return ncols <= 16 ? 128 : 64; default: From 38dbdf4c057515ccea9bec0ca2518f86d5e4d28e Mon Sep 17 00:00:00 2001 From: Bowen Han Date: Thu, 18 Sep 2025 11:26:03 -0700 Subject: [PATCH 38/52] CUDA: Optimize PAD_REFLECT_1D (#15957) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * CUDA: Optimize PAD_REFLECT_1D feat: add more test cases for PAD_REFLECT_1D * use fast_div to improve performance * Apply suggestion from JohannesGaessler Co-authored-by: Johannes Gäßler * Apply suggestion from JohannesGaessler Co-authored-by: Johannes Gäßler * optimize * use a concise expression to further speedup the cuda kernel --------- Co-authored-by: Johannes Gäßler --- ggml/src/ggml-cuda/common.cuh | 8 ++ ggml/src/ggml-cuda/pad_reflect_1d.cu | 115 ++++++++++++++------------- tests/test-backend-ops.cpp | 7 ++ 3 files changed, 76 insertions(+), 54 deletions(-) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 045c6d3006..3b1349171b 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -652,6 +652,14 @@ static __device__ __forceinline__ uint32_t fastmodulo(uint32_t n, const uint3 fa return n - fastdiv(n, fastdiv_values) * fastdiv_values.z; } +// Calculate both division and modulo at once, returns +static __device__ __forceinline__ uint2 fast_div_modulo(uint32_t n, const uint3 fastdiv_values) { + // expects fastdiv_values to contain in (see init_fastdiv_values) + const uint32_t div_val = fastdiv(n, fastdiv_values); + const uint32_t mod_val = n - div_val * fastdiv_values.z; + return make_uint2(div_val, mod_val); +} + typedef void (*dequantize_kernel_t)(const void * vx, const int64_t ib, const int iqs, float2 & v); static __device__ __forceinline__ float get_alibi_slope( diff --git a/ggml/src/ggml-cuda/pad_reflect_1d.cu b/ggml/src/ggml-cuda/pad_reflect_1d.cu index 4ed34aec3d..0478889da1 100644 --- a/ggml/src/ggml-cuda/pad_reflect_1d.cu +++ b/ggml/src/ggml-cuda/pad_reflect_1d.cu @@ -1,82 +1,89 @@ #include "pad_reflect_1d.cuh" -static __global__ void pad_reflect_1d_kernel_f32( - const void * __restrict__ src0, - void * __restrict__ dst, - const int64_t ne0, - const int64_t ne00, - const int64_t ne01, - const int64_t ne02, - const int64_t ne03, - const int64_t nb00, - const int64_t nb01, - const int64_t nb02, - const int64_t nb03, - const int64_t nb0, - const int64_t nb1, - const int64_t nb2, - const int64_t nb3, - const int p0, - const int p1) { - +static __global__ __launch_bounds__(CUDA_PAD_REFLECT_1D_BLOCK_SIZE, 1) void + pad_reflect_1d_kernel_f32( + const void * __restrict__ src0, + void * __restrict__ dst, + const int64_t ne0, + const int64_t ne00, + const uint3 ne01, + const int64_t ne02, + const int64_t ne03, + const int64_t nb00, + const int64_t nb01, + const int64_t nb02, + const int64_t nb03, + const int64_t nb0, + const int64_t nb1, + const int64_t nb2, + const int64_t nb3, + const int p0, + const int p1) { const int64_t i3 = blockIdx.z; const int64_t i2 = blockIdx.y; - const int64_t i1 = blockIdx.x; - if (i1 >= ne01 || i2 >= ne02 || i3 >= ne03) { + const uint2 div_mod_packed = fast_div_modulo(blockIdx.x, ne01); + const int64_t tile1 = div_mod_packed.y; // i1 + const int64_t tile0 = div_mod_packed.x; // nth i0 tile + const int64_t i1 = tile1; + const int64_t i0 = threadIdx.x + tile0 * blockDim.x; + + // ne01.z is original value of unpacked ne01 (see init_fastdiv_values in common.cuh) + if (i0 >= ne0 || i1 >= ne01.z || i2 >= ne02 || i3 >= ne03) { return; } - const char * src0_ptr = (const char *)src0 + i3*nb03 + i2*nb02 + i1*nb01; - char * dst_ptr = (char *)dst + i3*nb3 + i2*nb2 + i1*nb1; + const char * src0_ptr = (const char *) src0 + i3 * nb03 + i2 * nb02 + i1 * nb01; + char * dst_ptr = (char *) dst + i3 * nb3 + i2 * nb2 + i1 * nb1; - for (int64_t i0 = threadIdx.x; i0 < ne0; i0 += blockDim.x) { - float value; + const int64_t rel_i0 = i0 - p0; // relative i0 in src0 + int64_t src_idx; - if (i0 < p0) { - // Left padding - reflect - value = *(const float *)(src0_ptr + (p0 - i0) * nb00); - } else if (i0 < ne0 - p1) { - // Middle - copy - value = *(const float *)(src0_ptr + (i0 - p0) * nb00); - } else { - // Right padding - reflect - int64_t src_idx = (ne0 - p1 - p0) - (p1 + 1 - (ne0 - i0)) - 1; - value = *(const float *)(src0_ptr + src_idx * nb00); - } - - *(float *)(dst_ptr + i0 * nb0) = value; + if (rel_i0 < 0) { + // Left padding - reflect + src_idx = -rel_i0; + } else if (rel_i0 < ne00) { + // Middle - copy + src_idx = rel_i0; + } else { + // Right padding - reflect + src_idx = 2 * ne00 - 2 - rel_i0; } + const float value = *(const float *) (src0_ptr + src_idx * nb00); + *(float *) (dst_ptr + i0 * nb0) = value; } void ggml_cuda_op_pad_reflect_1d(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { - const ggml_tensor * src0 = dst->src[0]; - cudaStream_t stream = ctx.stream(); + const ggml_tensor * src0 = dst->src[0]; + cudaStream_t stream = ctx.stream(); GGML_ASSERT(src0->type == GGML_TYPE_F32); GGML_ASSERT(dst->type == GGML_TYPE_F32); const int32_t * opts = (const int32_t *) dst->op_params; - const int p0 = opts[0]; - const int p1 = opts[1]; + const int p0 = opts[0]; + const int p1 = opts[1]; - const int64_t ne00 = src0->ne[0]; - const int64_t ne01 = src0->ne[1]; - const int64_t ne02 = src0->ne[2]; - const int64_t ne03 = src0->ne[3]; + const int64_t ne00 = src0->ne[0]; + const int64_t ne01 = src0->ne[1]; + const uint3 ne01_packed = init_fastdiv_values(ne01); + const int64_t ne02 = src0->ne[2]; + const int64_t ne03 = src0->ne[3]; const int64_t ne0 = dst->ne[0]; + // sanity: padded length matches GGML_ASSERT(ne0 == ne00 + p0 + p1); - const dim3 block_dims(CUDA_PAD_REFLECT_1D_BLOCK_SIZE, 1, 1); - const dim3 grid_dims(ne01, ne02, ne03); + constexpr int64_t bx = CUDA_PAD_REFLECT_1D_BLOCK_SIZE; // threads per block (x) + const int64_t tiles0 = (ne0 + bx - 1) / bx; // number of tiles along i0 + // grid.x covers i1 and all tiles of i0: [ne01 * tiles0] + // grid.y covers i2: [ne02] + // grid.z covers i3: [ne03] + const dim3 grid_dims((unsigned) (ne01 * tiles0), (unsigned) ne02, (unsigned) ne03); + const dim3 block_dims((unsigned) bx, 1, 1); pad_reflect_1d_kernel_f32<<>>( - src0->data, dst->data, - ne0, ne00, ne01, ne02, ne03, - src0->nb[0], src0->nb[1], src0->nb[2], src0->nb[3], - dst->nb[0], dst->nb[1], dst->nb[2], dst->nb[3], - p0, p1 - ); + src0->data, dst->data, ne0, ne00, ne01_packed, ne02, ne03, src0->nb[0], src0->nb[1], src0->nb[2], src0->nb[3], + dst->nb[0], dst->nb[1], dst->nb[2], dst->nb[3], p0, p1); } diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 893c2af313..01cbf87533 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -6507,6 +6507,7 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_pad()); test_cases.emplace_back(new test_pad_ext()); test_cases.emplace_back(new test_pad_reflect_1d()); + test_cases.emplace_back(new test_pad_reflect_1d(GGML_TYPE_F32, {3000, 384, 4, 1})); test_cases.emplace_back(new test_roll()); test_cases.emplace_back(new test_arange()); test_cases.emplace_back(new test_timestep_embedding()); @@ -6645,6 +6646,12 @@ static std::vector> make_test_cases_perf() { test_cases.emplace_back(new test_argmax(GGML_TYPE_F32, {1024, 10, 1, 1})); test_cases.emplace_back(new test_argmax(GGML_TYPE_F32, {32000, 512, 1, 1})); + test_cases.emplace_back(new test_pad_reflect_1d(GGML_TYPE_F32, {512, 34, 2, 1})); + test_cases.emplace_back(new test_pad_reflect_1d(GGML_TYPE_F32, {3000, 80, 1, 1})); + test_cases.emplace_back(new test_pad_reflect_1d(GGML_TYPE_F32, {3000, 80, 4, 1})); + test_cases.emplace_back(new test_pad_reflect_1d(GGML_TYPE_F32, {3000, 384, 1, 1})); + test_cases.emplace_back(new test_pad_reflect_1d(GGML_TYPE_F32, {3000, 384, 4, 1})); + test_cases.emplace_back(new test_mul_mat(GGML_TYPE_F16, GGML_TYPE_F32, 16416, 1, 128, {8, 1}, {4, 1}, {0, 2, 1, 3})); test_cases.emplace_back(new test_mul_mat(GGML_TYPE_F16, GGML_TYPE_F32, 128, 1, 16416, {8, 1}, {4, 1}, {0, 1, 2, 3}, true)); From c0b45097c33e2667a94444f08cc9e36bec0a5e2e Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Thu, 18 Sep 2025 13:46:17 -0500 Subject: [PATCH 39/52] rename optimize_graph to graph_optimize (#16082) --- ggml/src/ggml-backend-impl.h | 2 +- ggml/src/ggml-backend.cpp | 8 ++++---- ggml/src/ggml-blas/ggml-blas.cpp | 2 +- ggml/src/ggml-cann/ggml-cann.cpp | 2 +- ggml/src/ggml-cpu/ggml-cpu.cpp | 2 +- ggml/src/ggml-cuda/ggml-cuda.cu | 2 +- ggml/src/ggml-metal/ggml-metal.cpp | 2 +- ggml/src/ggml-opencl/ggml-opencl.cpp | 2 +- ggml/src/ggml-rpc/ggml-rpc.cpp | 2 +- ggml/src/ggml-sycl/ggml-sycl.cpp | 2 +- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 14 +++++++------- ggml/src/ggml-webgpu/ggml-webgpu.cpp | 2 +- ggml/src/ggml-zdnn/ggml-zdnn.cpp | 2 +- 13 files changed, 22 insertions(+), 22 deletions(-) diff --git a/ggml/src/ggml-backend-impl.h b/ggml/src/ggml-backend-impl.h index 89d80db6e6..07784d6f66 100644 --- a/ggml/src/ggml-backend-impl.h +++ b/ggml/src/ggml-backend-impl.h @@ -116,7 +116,7 @@ extern "C" { void (*event_wait) (ggml_backend_t backend, ggml_backend_event_t event); // (optional) sort/optimize the nodes in the graph - void (*optimize_graph) (ggml_backend_t backend, struct ggml_cgraph * cgraph); + void (*graph_optimize) (ggml_backend_t backend, struct ggml_cgraph * cgraph); }; struct ggml_backend { diff --git a/ggml/src/ggml-backend.cpp b/ggml/src/ggml-backend.cpp index 7646f3f134..79a5282be3 100644 --- a/ggml/src/ggml-backend.cpp +++ b/ggml/src/ggml-backend.cpp @@ -463,10 +463,10 @@ void ggml_backend_event_wait(ggml_backend_t backend, ggml_backend_event_t event) backend->iface.event_wait(backend, event); } -static void ggml_backend_optimize_graph(ggml_backend_t backend, struct ggml_cgraph * cgraph) { +static void ggml_backend_graph_optimize(ggml_backend_t backend, struct ggml_cgraph * cgraph) { GGML_ASSERT(backend); - if (backend->iface.optimize_graph != NULL) { - backend->iface.optimize_graph(backend, cgraph); + if (backend->iface.graph_optimize != NULL) { + backend->iface.graph_optimize(backend, cgraph); } } @@ -1307,7 +1307,7 @@ void ggml_backend_sched_split_graph(ggml_backend_sched_t sched, struct ggml_cgra // Optimize this split of the graph. This needs to happen before we make graph_copy, // so they are in sync. - ggml_backend_optimize_graph(sched->backends[split->backend_id], &split->graph); + ggml_backend_graph_optimize(sched->backends[split->backend_id], &split->graph); // add inputs to the graph copy so that they are allocated by ggml-alloc at the start of the split for (int j = 0; j < split->n_inputs; j++) { diff --git a/ggml/src/ggml-blas/ggml-blas.cpp b/ggml/src/ggml-blas/ggml-blas.cpp index cdfc5a9bc2..5b888cdd8c 100644 --- a/ggml/src/ggml-blas/ggml-blas.cpp +++ b/ggml/src/ggml-blas/ggml-blas.cpp @@ -270,7 +270,7 @@ static struct ggml_backend_i blas_backend_i = { /* .graph_compute = */ ggml_backend_blas_graph_compute, /* .event_record = */ NULL, /* .event_wait = */ NULL, - /* .optimize_graph = */ NULL, + /* .graph_optimize = */ NULL, }; static ggml_guid_t ggml_backend_blas_guid(void) { diff --git a/ggml/src/ggml-cann/ggml-cann.cpp b/ggml/src/ggml-cann/ggml-cann.cpp index cbeafa6bc9..b51b554e75 100755 --- a/ggml/src/ggml-cann/ggml-cann.cpp +++ b/ggml/src/ggml-cann/ggml-cann.cpp @@ -2756,7 +2756,7 @@ static const ggml_backend_i ggml_backend_cann_interface = { /* .graph_compute = */ ggml_backend_cann_graph_compute, /* .event_record = */ ggml_backend_cann_event_record, /* .event_wait = */ ggml_backend_cann_event_wait, - /* .optimize_graph = */ NULL, + /* .graph_optimize = */ NULL, }; /** diff --git a/ggml/src/ggml-cpu/ggml-cpu.cpp b/ggml/src/ggml-cpu/ggml-cpu.cpp index 2b81f8b9af..81a314e4d6 100644 --- a/ggml/src/ggml-cpu/ggml-cpu.cpp +++ b/ggml/src/ggml-cpu/ggml-cpu.cpp @@ -190,7 +190,7 @@ static const struct ggml_backend_i ggml_backend_cpu_i = { /* .graph_compute = */ ggml_backend_cpu_graph_compute, /* .event_record = */ NULL, /* .event_wait = */ NULL, - /* .optimize_graph = */ NULL, + /* .graph_optimize = */ NULL, }; static ggml_guid_t ggml_backend_cpu_guid(void) { diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index 9ea8f4589d..f3ba20fe3f 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -3140,7 +3140,7 @@ static const ggml_backend_i ggml_backend_cuda_interface = { /* .graph_compute = */ ggml_backend_cuda_graph_compute, /* .event_record = */ ggml_backend_cuda_event_record, /* .event_wait = */ ggml_backend_cuda_event_wait, - /* .optimize_graph = */ NULL, + /* .graph_optimize = */ NULL, }; static ggml_guid_t ggml_backend_cuda_guid() { diff --git a/ggml/src/ggml-metal/ggml-metal.cpp b/ggml/src/ggml-metal/ggml-metal.cpp index fd0e6ed6e4..e11555a78f 100644 --- a/ggml/src/ggml-metal/ggml-metal.cpp +++ b/ggml/src/ggml-metal/ggml-metal.cpp @@ -447,7 +447,7 @@ static ggml_backend_i ggml_backend_metal_i = { // https://developer.apple.com/documentation/metal/mtlcommandbuffer#Synchronizing-Passes-with-Events /* .event_record = */ NULL, /* .event_wait = */ NULL, - /* .optimize_graph = */ ggml_backend_metal_graph_optimize, + /* .graph_optimize = */ ggml_backend_metal_graph_optimize, }; static ggml_guid_t ggml_backend_metal_guid(void) { diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index b188c5af34..b4ae2f882b 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -2838,7 +2838,7 @@ static ggml_backend_i ggml_backend_opencl_i = { /* .graph_compute = */ ggml_backend_opencl_graph_compute, /* .event_record = */ NULL, /* .event_wait = */ NULL, - /* .optimize_graph = */ NULL, + /* .graph_optimize = */ NULL, }; ggml_backend_t ggml_backend_opencl_init(void) { diff --git a/ggml/src/ggml-rpc/ggml-rpc.cpp b/ggml/src/ggml-rpc/ggml-rpc.cpp index d4833068d0..dde1a5945a 100644 --- a/ggml/src/ggml-rpc/ggml-rpc.cpp +++ b/ggml/src/ggml-rpc/ggml-rpc.cpp @@ -795,7 +795,7 @@ static ggml_backend_i ggml_backend_rpc_interface = { /* .graph_compute = */ ggml_backend_rpc_graph_compute, /* .event_record = */ NULL, /* .event_wait = */ NULL, - /* .optimize_graph = */ NULL, + /* .graph_optimize = */ NULL, }; ggml_backend_buffer_type_t ggml_backend_rpc_buffer_type(const char * endpoint) { diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index 9404e3ff4a..78853eb676 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -4073,7 +4073,7 @@ static ggml_backend_i ggml_backend_sycl_interface = { /* .graph_compute = */ ggml_backend_sycl_graph_compute, /* .event_record = */ ggml_backend_sycl_event_record, /* .event_wait = */ ggml_backend_sycl_event_wait, - /* .optimize_graph = */ NULL, + /* .graph_optimize = */ NULL, }; static ggml_guid_t ggml_backend_sycl_guid() { diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 1f1136382e..5c941e7213 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -593,7 +593,7 @@ struct vk_device_struct { bool disable_fusion; bool disable_host_visible_vidmem; bool allow_sysmem_fallback; - bool disable_optimize_graph; + bool disable_graph_optimize; #ifdef GGML_VULKAN_MEMORY_DEBUG std::unique_ptr memory_logger; @@ -3624,8 +3624,8 @@ static vk_device ggml_vk_get_device(size_t idx) { const char* GGML_VK_ALLOW_SYSMEM_FALLBACK = getenv("GGML_VK_ALLOW_SYSMEM_FALLBACK"); device->allow_sysmem_fallback = GGML_VK_ALLOW_SYSMEM_FALLBACK != nullptr; - const char* GGML_VK_DISABLE_OPTIMIZE_GRAPH = getenv("GGML_VK_DISABLE_OPTIMIZE_GRAPH"); - device->disable_optimize_graph = GGML_VK_DISABLE_OPTIMIZE_GRAPH != nullptr; + const char* GGML_VK_DISABLE_GRAPH_OPTIMIZE = getenv("GGML_VK_DISABLE_GRAPH_OPTIMIZE"); + device->disable_graph_optimize = GGML_VK_DISABLE_GRAPH_OPTIMIZE != nullptr; bool fp16_storage = false; bool fp16_compute = false; @@ -11914,12 +11914,12 @@ static ggml_status ggml_backend_vk_graph_compute(ggml_backend_t backend, ggml_cg } // Sort the graph for improved parallelism. -static void ggml_vk_optimize_graph(ggml_backend_t backend, struct ggml_cgraph * graph) +static void ggml_vk_graph_optimize(ggml_backend_t backend, struct ggml_cgraph * graph) { - VK_LOG_DEBUG("ggml_vk_optimize_graph(" << graph->n_nodes << " nodes)"); + VK_LOG_DEBUG("ggml_vk_graph_optimize(" << graph->n_nodes << " nodes)"); ggml_backend_vk_context * ctx = (ggml_backend_vk_context *)backend->context; - if (ctx->device->disable_optimize_graph) { + if (ctx->device->disable_graph_optimize) { return; } @@ -12053,7 +12053,7 @@ static ggml_backend_i ggml_backend_vk_interface = { /* .graph_compute = */ ggml_backend_vk_graph_compute, /* .event_record = */ NULL, /* .event_wait = */ NULL, - /* .optimize_graph = */ ggml_vk_optimize_graph, + /* .graph_optimize = */ ggml_vk_graph_optimize, }; static ggml_guid_t ggml_backend_vk_guid() { diff --git a/ggml/src/ggml-webgpu/ggml-webgpu.cpp b/ggml/src/ggml-webgpu/ggml-webgpu.cpp index 8e7b986df8..a92ddc582a 100644 --- a/ggml/src/ggml-webgpu/ggml-webgpu.cpp +++ b/ggml/src/ggml-webgpu/ggml-webgpu.cpp @@ -823,7 +823,7 @@ static ggml_backend_i ggml_backend_webgpu_i = { /* .graph_compute = */ ggml_backend_webgpu_graph_compute, /* .event_record = */ NULL, /* .event_wait = */ NULL, - /* .optimize_graph = */ NULL, + /* .graph_optimize = */ NULL, }; /* End GGML Backend Interface */ diff --git a/ggml/src/ggml-zdnn/ggml-zdnn.cpp b/ggml/src/ggml-zdnn/ggml-zdnn.cpp index 9ba23a3300..57a8f26620 100644 --- a/ggml/src/ggml-zdnn/ggml-zdnn.cpp +++ b/ggml/src/ggml-zdnn/ggml-zdnn.cpp @@ -574,7 +574,7 @@ static ggml_backend_i ggml_backend_zdnn_i = { /* .graph_compute = */ ggml_backend_zdnn_graph_compute, /* .event_record = */ NULL, /* .event_wait = */ NULL, - /* .optimize_graph = */ NULL, + /* .graph_optimize = */ NULL, }; static ggml_guid_t ggml_backend_zdnn_guid(void) { From 3edd87cd055a45d885fa914d879d36d33ecfc3e1 Mon Sep 17 00:00:00 2001 From: Shawn Gu Date: Thu, 18 Sep 2025 12:03:34 -0700 Subject: [PATCH 40/52] opencl: optimize mxfp4 kernels (#16037) - flatten mxfp4 and packed fp4->fp16 bit-wise convert function (replace lut) - MoE kernel optimizations --------- Co-authored-by: Li He --- ggml/src/ggml-opencl/CMakeLists.txt | 2 + ggml/src/ggml-opencl/ggml-opencl.cpp | 312 +++++++++++++++++- ggml/src/ggml-opencl/kernels/cvt.cl | 46 +++ .../kernels/mul_mv_id_mxfp4_f32_flat.cl | 176 ++++++++++ .../kernels/mul_mv_mxfp4_f32_flat.cl | 167 ++++++++++ 5 files changed, 701 insertions(+), 2 deletions(-) create mode 100644 ggml/src/ggml-opencl/kernels/mul_mv_id_mxfp4_f32_flat.cl create mode 100644 ggml/src/ggml-opencl/kernels/mul_mv_mxfp4_f32_flat.cl diff --git a/ggml/src/ggml-opencl/CMakeLists.txt b/ggml/src/ggml-opencl/CMakeLists.txt index 9a7ccbcff0..1c06aa138b 100644 --- a/ggml/src/ggml-opencl/CMakeLists.txt +++ b/ggml/src/ggml-opencl/CMakeLists.txt @@ -83,8 +83,10 @@ set(GGML_OPENCL_KERNELS mul_mv_q4_0_f32_1d_16x_flat mul_mv_q6_k mul_mv_mxfp4_f32 + mul_mv_mxfp4_f32_flat mul_mv_id_q4_0_f32_8x_flat mul_mv_id_mxfp4_f32 + mul_mv_id_mxfp4_f32_flat mul_mm_f32_f32_l4_lm mul_mm_f16_f32_l4_lm mul diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index b4ae2f882b..2cb838b713 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -368,6 +368,7 @@ struct ggml_backend_opencl_context { cl_program program_mul_mv_q4_0_f32_1d_16x_flat; cl_program program_mul_mv_q6_K; cl_program program_mul_mv_mxfp4_f32; + cl_program program_mul_mv_mxfp4_f32_flat; cl_program program_mul_mv_f16_f16; cl_program program_mul_mv_f16_f32_1row; cl_program program_mul_mv_f16_f32_l4; @@ -402,6 +403,7 @@ struct ggml_backend_opencl_context { cl_program program_tsembd; cl_program program_mul_mv_id_q4_0_f32_8x_flat; cl_program program_mul_mv_id_mxfp4_f32; + cl_program program_mul_mv_id_mxfp4_f32_flat; cl_program program_mul_mm_f32_f32_l4_lm; cl_program program_mul_mm_f16_f32_l4_lm; @@ -447,11 +449,12 @@ struct ggml_backend_opencl_context { cl_kernel kernel_mul_mat_f16_f32_tiled; cl_kernel kernel_mul_mat_q4_0_f32, kernel_mul_mat_q4_0_f32_v; cl_kernel kernel_convert_block_q4_0, kernel_restore_block_q4_0; + cl_kernel kernel_convert_block_mxfp4, kernel_restore_block_mxfp4; cl_kernel kernel_mul_mat_q4_0_f32_8x_flat; cl_kernel kernel_convert_block_q4_0_noshuffle; cl_kernel kernel_mul_mat_q4_0_f32_1d_8x_flat, kernel_mul_mat_q4_0_f32_1d_16x_flat; cl_kernel kernel_mul_mv_q6_K_f32; - cl_kernel kernel_mul_mv_mxfp4_f32; + cl_kernel kernel_mul_mv_mxfp4_f32, kernel_mul_mv_mxfp4_f32_flat; cl_kernel kernel_im2col_f32, kernel_im2col_f16; cl_kernel kernel_argsort_f32_i32; cl_kernel kernel_sum_rows_f32; @@ -469,6 +472,7 @@ struct ggml_backend_opencl_context { cl_kernel kernel_timestep_embedding; cl_kernel kernel_mul_mv_id_q4_0_f32_8x_flat; cl_kernel kernel_mul_mv_id_mxfp4_f32; + cl_kernel kernel_mul_mv_id_mxfp4_f32_flat; cl_kernel kernel_mul_mm_f32_f32_l4_lm; cl_kernel kernel_mul_mm_f16_f32_l4_lm; @@ -765,6 +769,8 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve CL_CHECK((backend_ctx->kernel_convert_block_q4_0_noshuffle = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_q4_0_noshuffle", &err), err)); CL_CHECK((backend_ctx->kernel_convert_block_q4_0 = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_q4_0", &err), err)); CL_CHECK((backend_ctx->kernel_restore_block_q4_0 = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_q4_0", &err), err)); + CL_CHECK((backend_ctx->kernel_convert_block_mxfp4 = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_mxfp4", &err), err)); + CL_CHECK((backend_ctx->kernel_restore_block_mxfp4 = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_mxfp4", &err), err)); GGML_LOG_CONT("."); } @@ -1002,6 +1008,22 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve GGML_LOG_CONT("."); } + // mul_mv_mxfp4_f32_flat + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src { + #include "mul_mv_mxfp4_f32_flat.cl.h" + }; +#else + const std::string kernel_src = read_file("mul_mv_mxfp4_f32_flat.cl"); +#endif + backend_ctx->program_mul_mv_mxfp4_f32_flat = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + + CL_CHECK((backend_ctx->kernel_mul_mv_mxfp4_f32_flat = clCreateKernel(backend_ctx->program_mul_mv_mxfp4_f32_flat, "kernel_mul_mv_mxfp4_f32_flat", &err), err)); + GGML_LOG_CONT("."); + } + // mul_mv_f16_f16 { #ifdef GGML_OPENCL_EMBED_KERNELS @@ -1727,6 +1749,22 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve GGML_LOG_CONT("."); } + // mul_mv_id_mxfp4_f32_flat + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src { + #include "mul_mv_id_mxfp4_f32_flat.cl.h" + }; +#else + const std::string kernel_src = read_file("mul_mv_id_mxfp4_f32_flat.cl"); +#endif + backend_ctx->program_mul_mv_id_mxfp4_f32_flat = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + + CL_CHECK((backend_ctx->kernel_mul_mv_id_mxfp4_f32_flat = clCreateKernel(backend_ctx->program_mul_mv_id_mxfp4_f32_flat, "kernel_mul_mv_id_mxfp4_f32_flat", &err), err)); + GGML_LOG_CONT("."); + } + // Adreno kernels #ifdef GGML_OPENCL_USE_ADRENO_KERNELS // transpose @@ -2391,6 +2429,51 @@ struct ggml_tensor_extra_cl_q4_0 { } }; +struct ggml_tensor_extra_cl_mxfp4 { + // Quantized values. + cl_mem q = nullptr; + // Quantized values in image1d_buffer_t. + cl_mem q_img = nullptr; + // Scales in E8M0. + cl_mem e = nullptr; + // Scales in image1d_buffer_t. + cl_mem e_img = nullptr; + // Size of quantized values. + size_t size_q = 0; + // Size of scales. + size_t size_e = 0; + + ~ggml_tensor_extra_cl_mxfp4() { + reset(); + } + + void reset() { + // q and d are subbuffers into the bigger buffer allocated in ggml_backend_buffer. + // They must be properly released so that the original buffer can be + // properly released to avoid memory leak. + if (q != nullptr) { + CL_CHECK(clReleaseMemObject(q)); + q = nullptr; + } + if (e != nullptr) { + CL_CHECK(clReleaseMemObject(e)); + e = nullptr; + } + if (q != nullptr) { + CL_CHECK(clReleaseMemObject(q_img)); + q = nullptr; + } + // Currently, q_img and d_img are only initialized when SMALL_ALLOC is + // enabled. They point to the images in ggml_backend_opencl_buffer_context. + // So, there is no need to release them here. + // TODO: initialize them for non SMALL_PATH path, or remove them. + q_img = nullptr; + e_img = nullptr; + size_q = 0; + size_e = 0; + } +}; + //------------------------------------------------------------------------------ // Backend API //------------------------------------------------------------------------------ @@ -2894,6 +2977,12 @@ struct ggml_backend_opencl_buffer_context { for (ggml_tensor_extra_cl_q4_0 * e : temp_tensor_extras_q4_0_in_use) { delete e; } + for (ggml_tensor_extra_cl_mxfp4 * e : temp_tensor_extras_mxfp4) { + delete e; + } + for (ggml_tensor_extra_cl_mxfp4 * e : temp_tensor_extras_mxfp4_in_use) { + delete e; + } } ggml_tensor_extra_cl * ggml_opencl_alloc_temp_tensor_extra() { @@ -2926,6 +3015,21 @@ struct ggml_backend_opencl_buffer_context { return extra; } + ggml_tensor_extra_cl_mxfp4 * ggml_opencl_alloc_temp_tensor_extra_mxfp4() { + ggml_tensor_extra_cl_mxfp4 * extra; + if (temp_tensor_extras_mxfp4.empty()) { + extra = new ggml_tensor_extra_cl_mxfp4(); + } else { + extra = temp_tensor_extras_mxfp4.back(); + temp_tensor_extras_mxfp4.pop_back(); + } + + temp_tensor_extras_mxfp4_in_use.push_back(extra); + + extra->reset(); + return extra; + } + void reset() { for (ggml_tensor_extra_cl * e : temp_tensor_extras_in_use) { temp_tensor_extras.push_back(e); @@ -2936,6 +3040,11 @@ struct ggml_backend_opencl_buffer_context { temp_tensor_extras_q4_0.push_back(e); } temp_tensor_extras_q4_0_in_use.clear(); + + for (ggml_tensor_extra_cl_mxfp4 * e : temp_tensor_extras_mxfp4_in_use) { + temp_tensor_extras_mxfp4.push_back(e); + } + temp_tensor_extras_mxfp4_in_use.clear(); } // Pools for extras. Available extras are in `temp_tensor_extras`. Extras @@ -2947,6 +3056,8 @@ struct ggml_backend_opencl_buffer_context { std::vector temp_tensor_extras_in_use; std::vector temp_tensor_extras_q4_0; std::vector temp_tensor_extras_q4_0_in_use; + std::vector temp_tensor_extras_mxfp4; + std::vector temp_tensor_extras_mxfp4_in_use; // The buffer_context is initially created by ggml_backend_buft_alloc_buffer // before any tensor is initialized (at the beginning of alloc_tensor_range). @@ -3289,6 +3400,76 @@ static void ggml_backend_opencl_buffer_set_tensor(ggml_backend_buffer_t buffer, } #endif // GGML_OPENCL_USE_ADRENO_KERNELS + return; + + } + if (tensor->type == GGML_TYPE_MXFP4) { + ggml_tensor_extra_cl * extra_orig = (ggml_tensor_extra_cl *)tensor->extra; + GGML_ASSERT(extra_orig && "Tesnors in OpenCL backend should have been allocated and initialized"); + + // Allocate the new extra and create aliases from the original. + ggml_backend_opencl_buffer_context * ctx = (ggml_backend_opencl_buffer_context *) buffer->context; + ggml_tensor_extra_cl_mxfp4 * extra = ctx->ggml_opencl_alloc_temp_tensor_extra_mxfp4(); + + size_t size_e = ggml_nelements(tensor)/ggml_blck_size(tensor->type)*sizeof(char); + size_t size_q = ggml_nelements(tensor)/ggml_blck_size(tensor->type)*ggml_blck_size(tensor->type)/2; + GGML_ASSERT(size_e + size_q == ggml_nbytes(tensor) && "Incorrect tensor size"); + + cl_int err; + cl_mem data_device = clCreateBuffer(context, CL_MEM_READ_WRITE, + ggml_nbytes(tensor), NULL, &err); + CL_CHECK(err); + CL_CHECK(clEnqueueWriteBuffer( + queue, data_device, CL_TRUE, 0, + ggml_nbytes(tensor), data, 0, NULL, NULL)); + + // The original tensor memory is divided into scales and quants, i.e., + // we first store scales, then quants. + cl_buffer_region region; + + // Create subbuffer for scales. + region.origin = align_to(extra_orig->offset + tensor->view_offs + offset, backend_ctx->alignment); + region.size = size_e; + extra->e = clCreateSubBuffer( + extra_orig->data_device, CL_MEM_READ_WRITE, + CL_BUFFER_CREATE_TYPE_REGION, ®ion, &err); + CL_CHECK(err); + auto previous_origin = region.origin; + + // Create subbuffer for quants. + region.origin = align_to(previous_origin + size_e, backend_ctx->alignment); + region.size = size_q; + extra->q = clCreateSubBuffer( + extra_orig->data_device, CL_MEM_READ_WRITE, + CL_BUFFER_CREATE_TYPE_REGION, ®ion, &err); + CL_CHECK(err); + + cl_kernel kernel = backend_ctx->kernel_convert_block_mxfp4; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &data_device)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra->q)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra->e)); + + size_t global_work_size[] = {(size_t)ggml_nelements(tensor)/ggml_blck_size(tensor->type), 1, 1}; + size_t local_work_size[] = {64, 1, 1}; + + cl_event evt; + CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, global_work_size, local_work_size, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + CL_CHECK(clReleaseMemObject(data_device)); + + // Create image for Q + cl_image_format img_format_q = {CL_RG, CL_UNSIGNED_INT32}; + cl_image_desc img_desc_q = { + CL_MEM_OBJECT_IMAGE1D_BUFFER, + static_cast(ggml_nelements(tensor)/32*2), + 0, 0, 0, 0, 0, 0, 0, + { extra->q } + }; + extra->q_img = clCreateImage(context, CL_MEM_READ_ONLY, &img_format_q, &img_desc_q, NULL, &err); + + tensor->extra = extra; + return; } #endif // GGML_OPENCL_SOA_Q @@ -3337,6 +3518,31 @@ static void ggml_backend_opencl_buffer_get_tensor(ggml_backend_buffer_t buffer, size_t global_work_size[] = {(size_t)ggml_nelements(tensor)/ggml_blck_size(tensor->type), 1, 1}; size_t local_work_size[] = {1, 1, 1}; + cl_event evt; + CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, + global_work_size, local_work_size, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + CL_CHECK(clEnqueueReadBuffer( + queue, data_device, CL_TRUE, offset, + size, data, 0, NULL, NULL)); + CL_CHECK(clReleaseMemObject(data_device)); + return; + } else if (tensor->type == GGML_TYPE_MXFP4) { + ggml_tensor_extra_cl_mxfp4 * extra = (ggml_tensor_extra_cl_mxfp4 *)tensor->extra; + + cl_int err; + cl_mem data_device = clCreateBuffer(context, CL_MEM_READ_WRITE, + ggml_nbytes(tensor), NULL, &err); + CL_CHECK(err); + + cl_kernel kernel = backend_ctx->kernel_restore_block_mxfp4; + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra->q)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra->e)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &data_device)); + + size_t global_work_size[] = {(size_t)ggml_nelements(tensor)/ggml_blck_size(tensor->type), 1, 1}; + size_t local_work_size[] = {1, 1, 1}; + cl_event evt; CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, global_work_size, local_work_size, 0, NULL, &evt)); @@ -3658,6 +3864,19 @@ static void dump_tensor(ggml_backend_t backend, const struct ggml_tensor * tenso CL_CHECK(clEnqueueReadBuffer(queue, extra->q, CL_TRUE, 0, size_q, buf_q, 0, NULL, NULL)); CL_CHECK(clEnqueueReadBuffer(queue, extra->d, CL_TRUE, 0, size_d, buf_d, 0, NULL, NULL)); CL_CHECK(clFinish(queue)); + } else if (tensor->type == GGML_TYPE_MXFP4) { + ggml_tensor_extra_cl_mxfp4 * extra = (ggml_tensor_extra_cl_mxfp4 *) tensor->extra; + GGML_ASSERT(extra); + + size_t size_q = ggml_nelements(tensor)/QK_MXFP4 * QK_MXFP4/2; + size_t size_e = ggml_nelements(tensor)/QK_MXFP4 * sizeof(char); + GGML_ASSERT(size_q + size_e == ggml_nbytes(tensor)); + buf_q = malloc(size_q); + buf_d = malloc(size_e); + + CL_CHECK(clEnqueueReadBuffer(queue, extra->q, CL_TRUE, 0, size_q, buf_q, 0, NULL, NULL)); + CL_CHECK(clEnqueueReadBuffer(queue, extra->d, CL_TRUE, 0, size_e, buf_d, 0, NULL, NULL)); + CL_CHECK(clFinish(queue)); } else { // Read out the tensor from GPU memory. ggml_tensor_extra_cl * extra = (ggml_tensor_extra_cl *) tensor->extra; @@ -6048,6 +6267,7 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co #ifdef GGML_OPENCL_SOA_Q ggml_tensor_extra_cl_q4_0 * extra0_q4_0 = (ggml_tensor_extra_cl_q4_0 *)src0->extra; + ggml_tensor_extra_cl_mxfp4 * extra0_mxfp4 = (ggml_tensor_extra_cl_mxfp4 *)src0->extra; #endif const int ne00 = src0 ? src0->ne[0] : 0; @@ -6752,6 +6972,45 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &r3)); break; case GGML_TYPE_MXFP4: { +#ifdef GGML_OPENCL_SOA_Q + kernel = backend_ctx->kernel_mul_mv_mxfp4_f32_flat; + + cl_mem q; + if (backend_ctx->gpu_family == INTEL) { + nth0 = 16; + nth1 = 2; + ndst = nth1*2; + + q = extra0_mxfp4->q; + } else if (backend_ctx->gpu_family == ADRENO) { + nth0 = 64; + nth1 = 2; + ndst = nth1*2; + + q = extra0_mxfp4->q_img; + } else { + GGML_ASSERT(false && "TODO: Unknown GPU"); + } + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &q)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra0_mxfp4->e)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra1->data_device)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &offset1)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(cl_ulong), &nb01)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(cl_ulong), &nb02)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(cl_ulong), &nb03)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(int), &ne12)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(cl_ulong), &nb11)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(cl_ulong), &nb12)); + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(cl_ulong), &nb13)); + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &ne0)); + CL_CHECK(clSetKernelArg(kernel, 15, sizeof(int), &ne1)); + CL_CHECK(clSetKernelArg(kernel, 16, sizeof(int), &r2)); + CL_CHECK(clSetKernelArg(kernel, 17, sizeof(int), &r3)); +#else kernel = backend_ctx->kernel_mul_mv_mxfp4_f32; if (backend_ctx->gpu_family == INTEL) { @@ -6785,6 +7044,7 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co CL_CHECK(clSetKernelArg(kernel, 16, sizeof(int), &r2)); CL_CHECK(clSetKernelArg(kernel, 17, sizeof(int), &r3)); CL_CHECK(clSetKernelArg(kernel, 18, sizeof(float)*nth0,nullptr)); +#endif break; } default: @@ -6850,8 +7110,11 @@ static void ggml_cl_mul_mat_id(ggml_backend_t backend, const ggml_tensor * src0, cl_ulong offset2 = extra2->offset + src2->view_offs; cl_ulong offsetd = extrad->offset + dst->view_offs; + GGML_UNUSED(offset0); + #ifdef GGML_OPENCL_SOA_Q ggml_tensor_extra_cl_q4_0 * extra0_q4_0 = (ggml_tensor_extra_cl_q4_0 *)src0->extra; + ggml_tensor_extra_cl_mxfp4 * extra0_mxfp4 = (ggml_tensor_extra_cl_mxfp4 *)src0->extra; #endif const int ne00 = src0->ne[0]; @@ -6940,6 +7203,51 @@ static void ggml_cl_mul_mat_id(ggml_backend_t backend, const ggml_tensor * src0, break; } case GGML_TYPE_MXFP4: { +#ifdef GGML_OPENCL_SOA_Q + kernel = backend_ctx->kernel_mul_mv_id_mxfp4_f32_flat; + + cl_mem q; + if (backend_ctx->gpu_family == INTEL) { + sgs = 16; + nsg = 2; + ndst = 2; + + q = extra0_mxfp4->q; + } else if (backend_ctx->gpu_family == ADRENO) { + sgs = 64; + nsg = 1; + ndst = 4; + + q = extra0_mxfp4->q_img; + } else { + GGML_ASSERT(false && "TODO: Unknown GPU"); + } + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &q)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra0_mxfp4->e)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra1->data_device)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &offset1)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extra2->data_device)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_ulong), &offset2)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(cl_ulong), &nb01)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(cl_ulong), &nb02)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(cl_ulong), &nb03)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &ne11)); + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &ne12)); + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(cl_ulong), &nb11)); + CL_CHECK(clSetKernelArg(kernel, 15, sizeof(cl_ulong), &nb12)); + CL_CHECK(clSetKernelArg(kernel, 16, sizeof(cl_ulong), &nb13)); + CL_CHECK(clSetKernelArg(kernel, 17, sizeof(int), &ne20)); + CL_CHECK(clSetKernelArg(kernel, 18, sizeof(int), &ne21)); + CL_CHECK(clSetKernelArg(kernel, 19, sizeof(cl_ulong), &nb21)); + CL_CHECK(clSetKernelArg(kernel, 20, sizeof(int), &ne0)); + CL_CHECK(clSetKernelArg(kernel, 21, sizeof(int), &ne1)); + CL_CHECK(clSetKernelArg(kernel, 22, sizeof(int), &r2)); + CL_CHECK(clSetKernelArg(kernel, 23, sizeof(int), &r3)); +#else // GGML_OPENCL_SOA_Q kernel = backend_ctx->kernel_mul_mv_id_mxfp4_f32; if (backend_ctx->gpu_family == INTEL) { @@ -6979,7 +7287,7 @@ static void ggml_cl_mul_mat_id(ggml_backend_t backend, const ggml_tensor * src0, CL_CHECK(clSetKernelArg(kernel, 22, sizeof(int), &r2)); CL_CHECK(clSetKernelArg(kernel, 23, sizeof(int), &r3)); CL_CHECK(clSetKernelArg(kernel, 24, sizeof(float)*sgs,nullptr)); - +#endif // GGML_OPENCL_SOA_Q break; } default: diff --git a/ggml/src/ggml-opencl/kernels/cvt.cl b/ggml/src/ggml-opencl/kernels/cvt.cl index fe7975e3db..3440ff5079 100644 --- a/ggml/src/ggml-opencl/kernels/cvt.cl +++ b/ggml/src/ggml-opencl/kernels/cvt.cl @@ -116,3 +116,49 @@ kernel void kernel_convert_block_q4_0_noshuffle( #endif } } + + +//------------------------------------------------------------------------------ +// block_q4_0 +//------------------------------------------------------------------------------ +#define QK_MXFP4 32 +struct block_mxfp4 { + uchar e; // E8M0 + uchar qs[QK_MXFP4 / 2]; +}; + +//------------------------------------------------------------------------------ +// kernel_convert_block_mxfp4 +// Convert the block_mxfp4 format to 2 separate arrays (AOS -> SOA). +// This kernel does not deshuffle the bits. +//------------------------------------------------------------------------------ +kernel void kernel_convert_block_mxfp4( + global struct block_mxfp4 * src0, + global uchar * dst_q, + global uchar * dst_e +) { + global struct block_mxfp4 * b = (global struct block_mxfp4 *) src0 + get_global_id(0); + global uchar * q = (global uchar *) dst_q + QK_MXFP4 / 2 * get_global_id(0); + global uchar * e = (global uchar *) dst_e + get_global_id(0); + + *e = b->e; + + for (int i = 0; i < QK_MXFP4 / 2; ++i) { + q[i] = b->qs[i]; + } +} + +kernel void kernel_restore_block_mxfp4( + global uchar * src_q, + global half * src_e, + global struct block_mxfp4 * dst +) { + global struct block_mxfp4 * b = (global struct block_mxfp4 *) dst + get_global_id(0); + global uchar * q = (global uchar *) src_q + QK_MXFP4 / 2 * get_global_id(0); + global uchar * e = (global uchar *) src_e + get_global_id(0); + + b->e = *e; + for (int i = 0; i < QK_MXFP4 / 2; ++i) { + b->qs[i] = q[i]; + } +} diff --git a/ggml/src/ggml-opencl/kernels/mul_mv_id_mxfp4_f32_flat.cl b/ggml/src/ggml-opencl/kernels/mul_mv_id_mxfp4_f32_flat.cl new file mode 100644 index 0000000000..f65e86ed6a --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/mul_mv_id_mxfp4_f32_flat.cl @@ -0,0 +1,176 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +#ifdef cl_intel_subgroups +#pragma OPENCL EXTENSION cl_intel_subgroups : enable +#else +#pragma OPENCL EXTENSION cl_khr_subgroups : enable +#endif + +#ifdef cl_intel_required_subgroup_size +#pragma OPENCL EXTENSION cl_intel_required_subgroup_size : enable +#define INTEL_GPU 1 +#define REQD_SUBGROUP_SIZE_16 __attribute__((intel_reqd_sub_group_size(16))) +#define REQD_SUBGROUP_SIZE_32 __attribute__((intel_reqd_sub_group_size(32))) +#elif defined(cl_qcom_reqd_sub_group_size) +#pragma OPENCL EXTENSION cl_qcom_reqd_sub_group_size : enable +#define ADRENO_GPU 1 +#define REQD_SUBGROUP_SIZE_64 __attribute__((qcom_reqd_sub_group_size("half"))) +#define REQD_SUBGROUP_SIZE_128 __attribute__((qcom_reqd_sub_group_size("full"))) +#endif + +#define QK_MXFP4 32 + +static inline half4 mxfp4_to_fp16_packed(ushort fp4x4) { + ushort2 fp16_packed_a, fp16_packed_b, bias_a, bias_b, sign_a, sign_b; + fp16_packed_a.lo = (fp4x4 << 9) & 0x0E00; + fp16_packed_a.hi = (fp4x4 << 5) & 0x0E00; + fp16_packed_b.lo = (fp4x4 << 1) & 0x0E00; + fp16_packed_b.hi = (fp4x4 >> 3) & 0x0E00; + + bias_a.lo = (fp16_packed_a.lo == 0) ? 0x0 : 0x3800; + bias_a.hi = (fp16_packed_a.hi == 0) ? 0x0 : 0x3800; + bias_b.lo = (fp16_packed_b.lo == 0) ? 0x0 : 0x3800; + bias_b.hi = (fp16_packed_b.hi == 0) ? 0x0 : 0x3800; + + fp16_packed_a.lo = (fp16_packed_a.lo == 0x0200) ? 0x0 : fp16_packed_a.lo; + fp16_packed_a.hi = (fp16_packed_a.hi == 0x0200) ? 0x0 : fp16_packed_a.hi; + fp16_packed_b.lo = (fp16_packed_b.lo == 0x0200) ? 0x0 : fp16_packed_b.lo; + fp16_packed_b.hi = (fp16_packed_b.hi == 0x0200) ? 0x0 : fp16_packed_b.hi; + + sign_a.lo = (fp4x4 << 12) & 0x8000; + sign_a.hi = (fp4x4 << 8) & 0x8000; + sign_b.lo = (fp4x4 << 4) & 0x8000; + sign_b.hi = fp4x4 & 0x8000; + + fp16_packed_a = sign_a + bias_a + fp16_packed_a; + fp16_packed_b = sign_b + bias_b + fp16_packed_b; + + return as_half4((ushort4)(fp16_packed_a, fp16_packed_b)); +} + +static inline float e8m0_to_fp32(uchar x) { + int bits; + bits = (x == 0) ? 0x00400000 : ((uint) x << 23); + return as_float(bits); +} + +#ifdef INTEL_GPU +#define N_R0_MXFP4 2 // number of rows each subgroup works on +#define N_SG_MXFP4 2 // number of subgroups in a work group +#define N_SIMDWIDTH 16 // subgroup size +#elif defined (ADRENO_GPU) +#define N_R0_MXFP4 4 +#define N_SG_MXFP4 1 +#define N_SIMDWIDTH 64 +#define SRC0Q_IMG +#endif + +kernel void kernel_mul_mv_id_mxfp4_f32_flat( +#ifdef SRC0Q_IMG + __read_only image1d_buffer_t src0_q, +#else + global uchar * src0_q, +#endif + global uchar * src0_e, + global uchar * src1, + ulong offset1, + global uchar * src2, + ulong offset2, + global uchar * dst, + ulong offsetd, + int ne00, + ulong nb01, + ulong nb02, + ulong nb03, + int ne11, + int ne12, + ulong nb11, + ulong nb12, + ulong nb13, + int ne20, + int ne21, + ulong nb21, + int ne0, + int ne1, + int r2, + int r3 +) { + dst = dst + offsetd; + + const int iid1 = get_group_id(2) / ne20; + const int idx = get_group_id(2) % ne20; + + uint i02 = ((global uint *) (src2 + offset2 + iid1 * nb21))[idx]; + + int i11 = idx % ne11; + + int nb = ne00 / QK_MXFP4; + + uint src0_off = i02*nb02; + src0_off /= 17; // 17 = sizeof(block_mxfp4) + + src0_e = src0_e + src0_off; + + dst = dst + (idx * ne0 + iid1 * ne1 * ne0) * sizeof(float); + + int r0 = get_group_id(0); + int r1 = get_group_id(1); + + int first_row = (r0 * N_SG_MXFP4 + get_sub_group_id()) * N_R0_MXFP4; + + uint offset_src0 = first_row*nb01; + offset_src0 /= 17; // 17 = sizeof(block_mxfp4) +#ifdef SRC0Q_IMG + ulong offset_q = src0_off + offset_src0; +#else + src0_q = src0_q + src0_off*16; + global uchar16 * x_q = (global uchar16 *)(src0_q) + offset_src0; +#endif + global uchar * x_e = src0_e + offset_src0; + + const short ix = get_sub_group_local_id() >> 1; + const short it = get_sub_group_local_id() & 1; + + float sumf[N_R0_MXFP4] = {0.f}; + + src1 = src1 + offset1 + i11 * nb11 + iid1 * nb12; + global float * y = (global float *) (src1 + r1 * nb11); + global float * yb = y + ix * QK_MXFP4 + it * 8; + + for (int ib = ix; ib < nb; ib += N_SIMDWIDTH / 2) { + global float4 * y4 = (global float4 *)yb; + + #pragma unroll + for (short row = 0; row < N_R0_MXFP4; row++) { + uchar xb_e = x_e[row * nb + ib]; +#ifdef SRC0Q_IMG + ushort4 xb_q = as_ushort4(read_imageui(src0_q, (offset_q + row * nb + ib) * 2 + it).xy); +#else + ushort4 xb_q = vload4(0, (global ushort *)((global uchar *)(x_q + row * nb + ib) + 8 * it)); +#endif + + half4 fp16x4_0 = mxfp4_to_fp16_packed(xb_q.s0); + half4 fp16x4_1 = mxfp4_to_fp16_packed(xb_q.s1); + float4 acc1 = y4[0] * (float4)(fp16x4_0.s0, fp16x4_0.s2, fp16x4_1.s0, fp16x4_1.s2); + acc1 += y4[4] * (float4)(fp16x4_0.s1, fp16x4_0.s3, fp16x4_1.s1, fp16x4_1.s3); + + fp16x4_0 = mxfp4_to_fp16_packed(xb_q.s2); + fp16x4_1 = mxfp4_to_fp16_packed(xb_q.s3); + acc1 += y4[1] * (float4)(fp16x4_0.s0, fp16x4_0.s2, fp16x4_1.s0, fp16x4_1.s2); + acc1 += y4[5] * (float4)(fp16x4_0.s1, fp16x4_0.s3, fp16x4_1.s1, fp16x4_1.s3); + + sumf[row] += e8m0_to_fp32(xb_e) * ((acc1.s0 + acc1.s1) + (acc1.s2 + acc1.s3)); + } + + yb += (N_SIMDWIDTH / 2) * QK_MXFP4; + } + + global float * dst_f32 = (global float *)dst + (ulong)r1 * ne0; + + for (int row = 0; row < N_R0_MXFP4 && first_row + row < ne0; ++row) { + float sum_all = sub_group_reduce_add(sumf[row]); + if (get_sub_group_local_id() == 0) { + dst_f32[first_row + row] = sum_all; + } + } +} diff --git a/ggml/src/ggml-opencl/kernels/mul_mv_mxfp4_f32_flat.cl b/ggml/src/ggml-opencl/kernels/mul_mv_mxfp4_f32_flat.cl new file mode 100644 index 0000000000..3d5a923eee --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/mul_mv_mxfp4_f32_flat.cl @@ -0,0 +1,167 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +#ifdef cl_intel_subgroups +#pragma OPENCL EXTENSION cl_intel_subgroups : enable +#else +#pragma OPENCL EXTENSION cl_khr_subgroups : enable +#endif + +#ifdef cl_intel_required_subgroup_size +#pragma OPENCL EXTENSION cl_intel_required_subgroup_size : enable +#define INTEL_GPU 1 +#define REQD_SUBGROUP_SIZE_16 __attribute__((intel_reqd_sub_group_size(16))) +#define REQD_SUBGROUP_SIZE_32 __attribute__((intel_reqd_sub_group_size(32))) +#elif defined(cl_qcom_reqd_sub_group_size) +#pragma OPENCL EXTENSION cl_qcom_reqd_sub_group_size : enable +#define ADRENO_GPU 1 +#define REQD_SUBGROUP_SIZE_64 __attribute__((qcom_reqd_sub_group_size("half"))) +#define REQD_SUBGROUP_SIZE_128 __attribute__((qcom_reqd_sub_group_size("full"))) +#endif + +#define QK_MXFP4 32 + +static inline half4 mxfp4_to_fp16_packed(ushort fp4x4) { + ushort2 fp16_packed_a, fp16_packed_b, bias_a, bias_b, sign_a, sign_b; + fp16_packed_a.lo = (fp4x4 << 9) & 0x0E00; + fp16_packed_a.hi = (fp4x4 << 5) & 0x0E00; + fp16_packed_b.lo = (fp4x4 << 1) & 0x0E00; + fp16_packed_b.hi = (fp4x4 >> 3) & 0x0E00; + + bias_a.lo = (fp16_packed_a.lo == 0) ? 0x0 : 0x3800; + bias_a.hi = (fp16_packed_a.hi == 0) ? 0x0 : 0x3800; + bias_b.lo = (fp16_packed_b.lo == 0) ? 0x0 : 0x3800; + bias_b.hi = (fp16_packed_b.hi == 0) ? 0x0 : 0x3800; + + fp16_packed_a.lo = (fp16_packed_a.lo == 0x0200) ? 0x0 : fp16_packed_a.lo; + fp16_packed_a.hi = (fp16_packed_a.hi == 0x0200) ? 0x0 : fp16_packed_a.hi; + fp16_packed_b.lo = (fp16_packed_b.lo == 0x0200) ? 0x0 : fp16_packed_b.lo; + fp16_packed_b.hi = (fp16_packed_b.hi == 0x0200) ? 0x0 : fp16_packed_b.hi; + + sign_a.lo = (fp4x4 << 12) & 0x8000; + sign_a.hi = (fp4x4 << 8) & 0x8000; + sign_b.lo = (fp4x4 << 4) & 0x8000; + sign_b.hi = fp4x4 & 0x8000; + + fp16_packed_a = sign_a + bias_a + fp16_packed_a; + fp16_packed_b = sign_b + bias_b + fp16_packed_b; + + return as_half4((ushort4)(fp16_packed_a, fp16_packed_b)); +} + +static inline float e8m0_to_fp32(uchar x) { + int bits; + bits = (x == 0) ? 0x00400000 : ((uint) x << 23); + return as_float(bits); +} + +#ifdef INTEL_GPU +#define N_R0_MXFP4 2 // number of rows each subgroup works on +#define N_SG_MXFP4 2 // number of subgroups in a work group +#define N_SIMDWIDTH 16 // subgroup size +#elif defined (ADRENO_GPU) +#define N_R0_MXFP4 2 +#define N_SG_MXFP4 2 +#define N_SIMDWIDTH 64 +#define SRC0Q_IMG +#endif + +#ifdef INTEL_GPU +REQD_SUBGROUP_SIZE_16 +#elif defined (ADRENO_GPU) +REQD_SUBGROUP_SIZE_64 +#endif +kernel void kernel_mul_mv_mxfp4_f32_flat( +#ifdef SRC0Q_IMG + __read_only image1d_buffer_t src0_q, +#else + global uchar * src0_q, +#endif + global uchar * src0_e, + global uchar * src1, + ulong offset1, + global uchar * dst, + ulong offsetd, + int ne00, + ulong nb01, + ulong nb02, + ulong nb03, + int ne12, + ulong nb11, + ulong nb12, + ulong nb13, + int ne0, + int ne1, + int r2, + int r3 +) { + src1 = src1 + offset1; + dst = dst + offsetd; + + int nb = ne00 / QK_MXFP4; + + int r0 = get_group_id(0); + int r1 = get_group_id(1); + int im = get_group_id(2); + + int first_row = (r0 * N_SG_MXFP4 + get_sub_group_id()) * N_R0_MXFP4; + + uint i12 = im % ne12; + uint i13 = im / ne12; + + uint offset_src0 = first_row*nb01 + (i12/r2)*nb02 + (i13/r3)*nb03; + // 17 = sizeof(block_mxfp4) + offset_src0 /= 17; +#ifdef SRC0Q_IMG + ulong offset_q = offset_src0; +#else + global uchar16 * x_q = (global uchar16 *)(src0_q) + offset_src0; +#endif + global uchar * x_e = src0_e + offset_src0; + + ulong offset_src1 = r1 * nb11 + i12 * nb12 + i13 * nb13; + global float * y = (global float *)(src1 + offset_src1); + + const short ix = get_sub_group_local_id() >> 1; // 0...15 + const short it = get_sub_group_local_id() & 1; // 0 or 1 + + float sumf[N_R0_MXFP4] = {0.f}; + + global float * yb = y + ix * QK_MXFP4 + it * 8; + + for (int ib = ix; ib < nb; ib += N_SIMDWIDTH/2) { + global float4 * y4 = (global float4 *)yb; + + #pragma unroll + for (short row = 0; row < N_R0_MXFP4; row++) { + uchar xb_e = x_e[row * nb + ib]; +#ifdef SRC0Q_IMG + ushort4 xb_q = as_ushort4(read_imageui(src0_q, (offset_q + row * nb + ib) * 2 + it).xy); +#else + ushort4 xb_q = vload4(0, (global ushort *)((global uchar *)(x_q + row * nb + ib) + 8 * it)); +#endif + + half4 fp16x4_0 = mxfp4_to_fp16_packed(xb_q.s0); + half4 fp16x4_1 = mxfp4_to_fp16_packed(xb_q.s1); + float4 acc1 = y4[0] * (float4)(fp16x4_0.s0, fp16x4_0.s2, fp16x4_1.s0, fp16x4_1.s2); + acc1 += y4[4] * (float4)(fp16x4_0.s1, fp16x4_0.s3, fp16x4_1.s1, fp16x4_1.s3); + + fp16x4_0 = mxfp4_to_fp16_packed(xb_q.s2); + fp16x4_1 = mxfp4_to_fp16_packed(xb_q.s3); + acc1 += y4[1] * (float4)(fp16x4_0.s0, fp16x4_0.s2, fp16x4_1.s0, fp16x4_1.s2); + acc1 += y4[5] * (float4)(fp16x4_0.s1, fp16x4_0.s3, fp16x4_1.s1, fp16x4_1.s3); + + sumf[row] += e8m0_to_fp32(xb_e) * ((acc1.s0 + acc1.s1) + (acc1.s2 + acc1.s3)); + } + + yb += (N_SIMDWIDTH/2) * QK_MXFP4; + } + + global float * dst_f32 = (global float *) dst + (ulong)im*ne0*ne1 + (ulong)r1*ne0; + + for (int row = 0; row < N_R0_MXFP4 && first_row + row < ne0; ++row) { + float sum_all = sub_group_reduce_add(sumf[row]); + if (get_sub_group_local_id() == 0) { + dst_f32[first_row + row] = sum_all; + } + } +} From 246c0d9c795fb25da8268625d597580155a3672f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Thu, 18 Sep 2025 23:07:18 +0200 Subject: [PATCH 41/52] cmake : fix static linking for OpenMP on Unix-like systems (#16031) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When compiling with GGML_STATIC=ON, the build process would produce a binary that was still dynamically linked to OpenMP. This defeats the purpose of a static build: $ cmake -B build \ -DBUILD_SHARED_LIBS=OFF \ -DLLAMA_CURL=OFF \ -DGGML_CCACHE=OFF \ -DGGML_NATIVE=OFF \ -DGGML_STATIC=ON $ ldd llama-server linux-vdso.so.1 (0x0000e1a434e3b000) libgomp.so.1 => /lib/aarch64-linux-gnu/libgomp.so.1 (0x0000e1a4345a0000) libstdc++.so.6 => /lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000e1a434300000) libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000e1a434240000) libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000e1a434200000) libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000e1a434030000) /lib/ld-linux-aarch64.so.1 (0x0000e1a434df0000) This commit resolves the issue by modifying `CMAKE_FIND_LIBRARY_SUFFIXES` to prioritize `.a` files, forcing CMake to link the static version of the library. Signed-off-by: Adrien Gallouët --- ggml/src/CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt index 2b5b8169d7..c8f3d85964 100644 --- a/ggml/src/CMakeLists.txt +++ b/ggml/src/CMakeLists.txt @@ -114,6 +114,9 @@ message(STATUS "GGML_SYSTEM_ARCH: ${GGML_SYSTEM_ARCH}") if (NOT MSVC) if (GGML_STATIC) + if (UNIX AND NOT APPLE) + set(CMAKE_FIND_LIBRARY_SUFFIXES ".a;.so") + endif() add_link_options(-static) if (MINGW) add_link_options(-static-libgcc -static-libstdc++) From 69ffd891631befa9e6b485fd646a16dab4f2c007 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Thu, 18 Sep 2025 23:07:26 +0200 Subject: [PATCH 42/52] ggml-amx : fix ggml_amx_init() on generic Linux (#16049) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Generalize Linux check to `__linux__` to support non-glibc systems (like musl). Also, return `false` on unknown/untested OS. Without this commit, the code compiles (with warnings) but fails: register_backend: registered backend CPU (1 devices) register_device: registered device CPU (Intel(R) Xeon(R) Platinum 8488C) build: 6487 (51c4cac6) with x86_64-linux-musl-gcc (GCC) 15.1.0 for x86_64-linux-musl (debug) system info: n_threads = 8, n_threads_batch = 8, total_threads = 16 .... print_info: n_ctx_orig_yarn = 262144 print_info: rope_finetuned = unknown print_info: model type = 4B Illegal instruction (core dumped) Signed-off-by: Adrien Gallouët --- ggml/src/ggml-cpu/amx/amx.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-cpu/amx/amx.cpp b/ggml/src/ggml-cpu/amx/amx.cpp index 258857b007..867e158dca 100644 --- a/ggml/src/ggml-cpu/amx/amx.cpp +++ b/ggml/src/ggml-cpu/amx/amx.cpp @@ -7,7 +7,7 @@ #include "ggml-cpu.h" #include "traits.h" -#if defined(__gnu_linux__) +#if defined(__linux__) #include #include #endif @@ -186,7 +186,7 @@ static size_t ggml_backend_amx_buffer_type_get_alloc_size(ggml_backend_buffer_ty #define XFEATURE_XTILEDATA 18 static bool ggml_amx_init() { -#if defined(__gnu_linux__) +#if defined(__linux__) if (syscall(SYS_arch_prctl, ARCH_REQ_XCOMP_PERM, XFEATURE_XTILEDATA)) { fprintf(stderr, "AMX is not ready to be used!\n"); return false; @@ -194,6 +194,8 @@ static bool ggml_amx_init() { return true; #elif defined(_WIN32) return true; +#else + return false; #endif } From 0dd58b6877f3dc106593d6bc68d98305f553c566 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Fri, 19 Sep 2025 11:31:56 +0700 Subject: [PATCH 43/52] ggml : refactor forward_dup for cpu backend (#16062) * ggml : refactor forward_dup for cpu backend * clean up a bit * add quant/dequant perf test --- ggml/src/ggml-cpu/common.h | 14 + ggml/src/ggml-cpu/ops.cpp | 927 +++---------------------------------- tests/test-backend-ops.cpp | 8 +- 3 files changed, 94 insertions(+), 855 deletions(-) diff --git a/ggml/src/ggml-cpu/common.h b/ggml/src/ggml-cpu/common.h index 353563dc35..6adca5437f 100644 --- a/ggml/src/ggml-cpu/common.h +++ b/ggml/src/ggml-cpu/common.h @@ -28,6 +28,14 @@ static inline float bf16_to_f32(ggml_bf16_t x) { return GGML_BF16_TO_FP32(x); } +static inline float i32_to_f32(int32_t x) { + return x; +} + +static inline int32_t f32_to_i32(float x) { + return x; +} + static inline float f32_to_f32(float x) { return x; } @@ -54,6 +62,12 @@ struct type_conversion_table { static constexpr ggml_bf16_t (*from_f32)(float) = f32_to_bf16; }; +template <> +struct type_conversion_table { + static constexpr float (*to_f32)(int32_t) = i32_to_f32; + static constexpr int32_t (*from_f32)(float) = f32_to_i32; +}; + static std::pair get_thread_range(const struct ggml_compute_params * params, const struct ggml_tensor * src0) { const int64_t ith = params->ith; const int64_t nth = params->nth; diff --git a/ggml/src/ggml-cpu/ops.cpp b/ggml/src/ggml-cpu/ops.cpp index c4824d145a..763ab099e3 100644 --- a/ggml/src/ggml-cpu/ops.cpp +++ b/ggml/src/ggml-cpu/ops.cpp @@ -41,13 +41,15 @@ static void ggml_compute_forward_dup_same_cont( } } -static void ggml_compute_forward_dup_f16( +template +static void ggml_compute_forward_dup_flt( const ggml_compute_params * params, ggml_tensor * dst) { const ggml_tensor * src0 = dst->src[0]; GGML_ASSERT(ggml_nelements(dst) == ggml_nelements(src0)); + GGML_ASSERT(!ggml_is_quantized(src0->type) && !ggml_is_quantized(dst->type)); GGML_TENSOR_UNARY_OP_LOCALS @@ -62,6 +64,7 @@ static void ggml_compute_forward_dup_f16( const int ir0 = dr * ith; const int ir1 = MIN(ir0 + dr, nr); + // case: type & row size equal if (src0->type == dst->type && ne00 == ne0 && nb00 == ggml_type_size(src0->type) && nb0 == ggml_type_size(dst->type)) { @@ -80,11 +83,11 @@ static void ggml_compute_forward_dup_f16( return; } - // TODO: add more special-case implementations for tensor shapes/strides that can benefit from memcpy - + // case: dst tensor is contiguous if (ggml_is_contiguous(dst)) { - if (nb00 == sizeof(ggml_fp16_t)) { - if (dst->type == GGML_TYPE_F16) { + if (nb00 == sizeof(src_t)) { + if constexpr (std::is_same_v) { + // same type size_t id = 0; const size_t rs = ne00 * nb00; char * dst_ptr = (char *) dst->data; @@ -100,91 +103,46 @@ static void ggml_compute_forward_dup_f16( id += rs * (ne01 - ir1); } } - } else if (dst->type == GGML_TYPE_F32) { + } else { + // casting between non-quantized types size_t id = 0; - float * dst_ptr = (float *) dst->data; + dst_t * dst_ptr = (dst_t *) dst->data; for (int i03 = 0; i03 < ne03; i03++) { for (int i02 = 0; i02 < ne02; i02++) { id += ne00 * ir0; for (int i01 = ir0; i01 < ir1; i01++) { - const ggml_fp16_t * src0_ptr = (ggml_fp16_t *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03); + const src_t * src0_ptr = (src_t *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03); for (int i00 = 0; i00 < ne00; i00++) { - dst_ptr[id] = GGML_CPU_FP16_TO_FP32(src0_ptr[i00]); + float tmp = type_conversion_table::to_f32(src0_ptr[i00]); + dst_ptr[id] = type_conversion_table::from_f32(tmp); id++; } } id += ne00 * (ne01 - ir1); } } - } else if (ggml_get_type_traits_cpu(dst->type)->from_float) { - ggml_from_float_t const quantize_row_q = ggml_get_type_traits_cpu(dst->type)->from_float; - float * src0_f32 = (float *) params->wdata + (ne00 + CACHE_LINE_SIZE_F32) * ith; - - size_t id = 0; - size_t rs = nb0 * (ne00 / ggml_blck_size(dst->type)); - char * dst_ptr = (char *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += rs * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - const ggml_fp16_t * src0_ptr = (ggml_fp16_t *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03); - - for (int i00 = 0; i00 < ne00; i00++) { - src0_f32[i00] = GGML_CPU_FP16_TO_FP32(src0_ptr[i00]); - } - - quantize_row_q(src0_f32, dst_ptr + id, ne00); - id += rs; - } - id += rs * (ne01 - ir1); - } - } - } else { - GGML_ABORT("fatal error"); // TODO: implement } } else { //printf("%s: this is not optimal - fix me\n", __func__); - if (dst->type == GGML_TYPE_F32) { - size_t id = 0; - float * dst_ptr = (float *) dst->data; + size_t id = 0; + dst_t * dst_ptr = (dst_t *) dst->data; - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - for (int i00 = 0; i00 < ne00; i00++) { - const ggml_fp16_t * src0_ptr = (ggml_fp16_t *) ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); + for (int i03 = 0; i03 < ne03; i03++) { + for (int i02 = 0; i02 < ne02; i02++) { + id += ne00 * ir0; + for (int i01 = ir0; i01 < ir1; i01++) { + for (int i00 = 0; i00 < ne00; i00++) { + const src_t * src0_ptr = (src_t *) ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - dst_ptr[id] = GGML_CPU_FP16_TO_FP32(*src0_ptr); - id++; - } + float tmp = type_conversion_table::to_f32(*src0_ptr); + dst_ptr[id] = type_conversion_table::from_f32(tmp); + id++; } - id += ne00 * (ne01 - ir1); } + id += ne00 * (ne01 - ir1); } - } else if (dst->type == GGML_TYPE_F16) { - size_t id = 0; - ggml_fp16_t * dst_ptr = (ggml_fp16_t *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - for (int i00 = 0; i00 < ne00; i00++) { - const ggml_fp16_t * src0_ptr = (ggml_fp16_t *) ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - - dst_ptr[id] = *src0_ptr; - id++; - } - } - id += ne00 * (ne01 - ir1); - } - } - } else { - GGML_ABORT("fatal error"); // TODO: implement } } return; @@ -196,7 +154,7 @@ static void ggml_compute_forward_dup_f16( int64_t i12 = 0; int64_t i13 = 0; - if (dst->type == GGML_TYPE_F16) { + if constexpr (std::is_same_v) { for (int64_t i03 = 0; i03 < ne03; i03++) { for (int64_t i02 = 0; i02 < ne02; i02++) { i10 += ne00 * ir0; @@ -217,7 +175,7 @@ static void ggml_compute_forward_dup_f16( const char * src0_ptr = ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); char * dst_ptr = ((char *) dst->data + i10*nb0 + i11*nb1 + i12*nb2 + i13*nb3); - memcpy(dst_ptr, src0_ptr, sizeof(ggml_fp16_t)); + memcpy(dst_ptr, src0_ptr, sizeof(dst_t)); if (++i10 == ne00) { i10 = 0; @@ -248,7 +206,8 @@ static void ggml_compute_forward_dup_f16( } } } - } else if (dst->type == GGML_TYPE_F32) { + + } else { for (int64_t i03 = 0; i03 < ne03; i03++) { for (int64_t i02 = 0; i02 < ne02; i02++) { i10 += ne00 * ir0; @@ -269,7 +228,8 @@ static void ggml_compute_forward_dup_f16( const char * src0_ptr = ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); char * dst_ptr = ((char *) dst->data + i10*nb0 + i11*nb1 + i12*nb2 + i13*nb3); - *(float *) dst_ptr = GGML_CPU_FP16_TO_FP32(*(const ggml_fp16_t *) src0_ptr); + float tmp = type_conversion_table::to_f32(*(const src_t *) src0_ptr); + *(dst_t *) dst_ptr = type_conversion_table::from_f32(tmp); if (++i10 == ne0) { i10 = 0; @@ -300,18 +260,19 @@ static void ggml_compute_forward_dup_f16( } } } - } else { - GGML_ABORT("fatal error"); // TODO: implement } } -static void ggml_compute_forward_dup_bf16( + +template +static void ggml_compute_forward_dup_to_q( const ggml_compute_params * params, ggml_tensor * dst) { const ggml_tensor * src0 = dst->src[0]; GGML_ASSERT(ggml_nelements(dst) == ggml_nelements(src0)); + GGML_ASSERT(!ggml_is_quantized(src0->type)); GGML_TENSOR_UNARY_OP_LOCALS @@ -326,785 +287,36 @@ static void ggml_compute_forward_dup_bf16( const int ir0 = dr * ith; const int ir1 = MIN(ir0 + dr, nr); - if (src0->type == dst->type && - ne00 == ne0 && - nb00 == ggml_type_size(src0->type) && nb0 == ggml_type_size(dst->type)) { - // copy by rows - const size_t rs = ne00*nb00; - for (int64_t i03 = 0; i03 < ne03; i03++) { - for (int64_t i02 = 0; i02 < ne02; i02++) { - for (int64_t i01 = ir0; i01 < ir1; i01++) { - memcpy( - ((char *) dst->data + i01*nb1 + i02*nb2 + i03*nb3), - ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03), - rs); - } - } - } - return; - } + if (ggml_is_contiguous(dst) && + nb00 == sizeof(src_t) && + ggml_get_type_traits_cpu(dst->type)->from_float) { + // casting non-quantized types --> intermediate f32 --> quantized + ggml_from_float_t const quantize_row_q = ggml_get_type_traits_cpu(dst->type)->from_float; + float * src0_f32 = (float *) params->wdata + (ne00 + CACHE_LINE_SIZE_F32) * ith; - // TODO: add more special-case implementations for tensor shapes/strides that can benefit from memcpy + size_t id = 0; + size_t rs = nb0 * (ne00 / ggml_blck_size(dst->type)); + char * dst_ptr = (char *) dst->data; - if (ggml_is_contiguous(dst)) { - if (nb00 == sizeof(ggml_bf16_t)) { - if (dst->type == GGML_TYPE_BF16) { - size_t id = 0; - const size_t rs = ne00 * nb00; - char * dst_ptr = (char *) dst->data; + for (int i03 = 0; i03 < ne03; i03++) { + for (int i02 = 0; i02 < ne02; i02++) { + id += rs * ir0; + for (int i01 = ir0; i01 < ir1; i01++) { + const src_t * src0_ptr = (src_t *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03); - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += rs * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - const char * src0_ptr = (char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03; - memcpy(dst_ptr + id, src0_ptr, rs); - id += rs; - } - id += rs * (ne01 - ir1); - } - } - } else if (dst->type == GGML_TYPE_F16) { - size_t id = 0; - ggml_fp16_t * dst_ptr = (ggml_fp16_t *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - const ggml_bf16_t * src0_ptr = (ggml_bf16_t *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03); - for (int i00 = 0; i00 < ne00; i00++) { - dst_ptr[id] = GGML_CPU_FP32_TO_FP16(GGML_BF16_TO_FP32(src0_ptr[i00])); - id++; - } - } - id += ne00 * (ne01 - ir1); - } - } - } else if (dst->type == GGML_TYPE_F32) { - size_t id = 0; - float * dst_ptr = (float *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - const ggml_bf16_t * src0_ptr = (ggml_bf16_t *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03); - for (int i00 = 0; i00 < ne00; i00++) { - dst_ptr[id] = GGML_BF16_TO_FP32(src0_ptr[i00]); - id++; - } - } - id += ne00 * (ne01 - ir1); - } - } - } else if (ggml_get_type_traits_cpu(dst->type)->from_float) { - ggml_from_float_t const quantize_row_q = ggml_get_type_traits_cpu(dst->type)->from_float; - float * src0_f32 = (float *) params->wdata + (ne00 + CACHE_LINE_SIZE_F32) * ith; - - size_t id = 0; - size_t rs = nb0 * (ne00 / ggml_blck_size(dst->type)); - char * dst_ptr = (char *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += rs * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - const ggml_bf16_t * src0_ptr = (ggml_bf16_t *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03); - - for (int i00 = 0; i00 < ne00; i00++) { - src0_f32[i00] = GGML_BF16_TO_FP32(src0_ptr[i00]); - } - - quantize_row_q(src0_f32, dst_ptr + id, ne00); - id += rs; - } - id += rs * (ne01 - ir1); - } - } - } else { - GGML_ABORT("fatal error"); // TODO: implement - } - } else { - //printf("%s: this is not optimal - fix me\n", __func__); - - if (dst->type == GGML_TYPE_F32) { - size_t id = 0; - float * dst_ptr = (float *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - for (int i00 = 0; i00 < ne00; i00++) { - const ggml_bf16_t * src0_ptr = (ggml_bf16_t *) ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - - dst_ptr[id] = GGML_BF16_TO_FP32(*src0_ptr); - id++; - } - } - id += ne00 * (ne01 - ir1); - } - } - } else if (dst->type == GGML_TYPE_BF16) { - size_t id = 0; - ggml_bf16_t * dst_ptr = (ggml_bf16_t *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - for (int i00 = 0; i00 < ne00; i00++) { - const ggml_bf16_t * src0_ptr = (ggml_bf16_t *) ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - - dst_ptr[id] = *src0_ptr; - id++; - } - } - id += ne00 * (ne01 - ir1); - } - } - } else if (dst->type == GGML_TYPE_F16) { - size_t id = 0; - ggml_fp16_t * dst_ptr = (ggml_fp16_t *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - for (int i00 = 0; i00 < ne00; i00++) { - const ggml_bf16_t * src0_ptr = (ggml_bf16_t *) ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - - dst_ptr[id] = GGML_CPU_FP32_TO_FP16(GGML_BF16_TO_FP32(*src0_ptr)); - id++; - } - } - id += ne00 * (ne01 - ir1); - } - } - } else { - GGML_ABORT("fatal error"); // TODO: implement - } - } - return; - } - - // dst counters - int64_t i10 = 0; - int64_t i11 = 0; - int64_t i12 = 0; - int64_t i13 = 0; - - if (dst->type == GGML_TYPE_BF16) { - for (int64_t i03 = 0; i03 < ne03; i03++) { - for (int64_t i02 = 0; i02 < ne02; i02++) { - i10 += ne00 * ir0; - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - for (int64_t i01 = ir0; i01 < ir1; i01++) { - for (int64_t i00 = 0; i00 < ne00; i00++) { - const char * src0_ptr = ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - char * dst_ptr = ((char *) dst->data + i10*nb0 + i11*nb1 + i12*nb2 + i13*nb3); - - memcpy(dst_ptr, src0_ptr, sizeof(ggml_bf16_t)); - - if (++i10 == ne00) { - i10 = 0; - if (++i11 == ne01) { - i11 = 0; - if (++i12 == ne02) { - i12 = 0; - if (++i13 == ne03) { - i13 = 0; - } - } - } - } - } - } - i10 += ne00 * (ne01 - ir1); - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - } else if (dst->type == GGML_TYPE_F16) { - for (int64_t i03 = 0; i03 < ne03; i03++) { - for (int64_t i02 = 0; i02 < ne02; i02++) { - i10 += ne00 * ir0; - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - for (int64_t i01 = ir0; i01 < ir1; i01++) { - for (int64_t i00 = 0; i00 < ne00; i00++) { - const char * src0_ptr = ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - char * dst_ptr = ((char *) dst->data + i10*nb0 + i11*nb1 + i12*nb2 + i13*nb3); - - *(ggml_fp16_t *) dst_ptr = GGML_CPU_FP32_TO_FP16(GGML_BF16_TO_FP32(*(const ggml_bf16_t *) src0_ptr)); - - if (++i10 == ne0) { - i10 = 0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - i10 += ne00 * (ne01 - ir1); - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - } else if (dst->type == GGML_TYPE_F32) { - for (int64_t i03 = 0; i03 < ne03; i03++) { - for (int64_t i02 = 0; i02 < ne02; i02++) { - i10 += ne00 * ir0; - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - for (int64_t i01 = ir0; i01 < ir1; i01++) { - for (int64_t i00 = 0; i00 < ne00; i00++) { - const char * src0_ptr = ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - char * dst_ptr = ((char *) dst->data + i10*nb0 + i11*nb1 + i12*nb2 + i13*nb3); - - *(float *) dst_ptr = GGML_BF16_TO_FP32(*(const ggml_bf16_t *) src0_ptr); - - if (++i10 == ne0) { - i10 = 0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - i10 += ne00 * (ne01 - ir1); - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } + for (int i00 = 0; i00 < ne00; i00++) { + src0_f32[i00] = type_conversion_table::to_f32(src0_ptr[i00]); } + + quantize_row_q(src0_f32, dst_ptr + id, ne00); + id += rs; } + id += rs * (ne01 - ir1); } } } else { - GGML_ABORT("fatal error"); // TODO: implement - } -} - -static void ggml_compute_forward_dup_f32( - const ggml_compute_params * params, - ggml_tensor * dst) { - - const ggml_tensor * src0 = dst->src[0]; - - GGML_ASSERT(ggml_nelements(dst) == ggml_nelements(src0)); - - GGML_TENSOR_UNARY_OP_LOCALS - - const int ith = params->ith; // thread index - const int nth = params->nth; // number of threads - - // parallelize by rows - const int nr = ne01; - // number of rows per thread - const int dr = (nr + nth - 1) / nth; - // row range for this thread - const int ir0 = dr * ith; - const int ir1 = MIN(ir0 + dr, nr); - - if (src0->type == dst->type && - ne00 == ne0 && - nb00 == ggml_type_size(src0->type) && nb0 == ggml_type_size(dst->type)) { - // copy by rows - const size_t rs = ne00*nb00; - for (int64_t i03 = 0; i03 < ne03; i03++) { - for (int64_t i02 = 0; i02 < ne02; i02++) { - for (int64_t i01 = ir0; i01 < ir1; i01++) { - memcpy( - ((char *) dst->data + i01*nb1 + i02*nb2 + i03*nb3), - ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03), - rs); - } - } - } - return; - } - - if (ggml_is_contiguous(dst)) { - // TODO: simplify - if (nb00 == sizeof(float)) { - if (ggml_get_type_traits_cpu(dst->type)->from_float) { - ggml_from_float_t const from_float = ggml_get_type_traits_cpu(dst->type)->from_float; - - size_t id = 0; - size_t rs = nb0 * (ne00 / ggml_blck_size(dst->type)); - char * dst_ptr = (char *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += rs * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - const float * src0_ptr = (float *) ((char *) src0->data + i01*nb01 + i02*nb02 + i03*nb03); - from_float(src0_ptr, dst_ptr + id, ne00); - id += rs; - } - id += rs * (ne01 - ir1); - } - } - } else { - GGML_ABORT("fatal error"); // TODO: implement - } - } else { - //printf("%s: this is not optimal - fix me\n", __func__); - - if (dst->type == GGML_TYPE_F32) { - size_t id = 0; - float * dst_ptr = (float *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - for (int i00 = 0; i00 < ne00; i00++) { - const float * src0_ptr = (float *) ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - - dst_ptr[id] = *src0_ptr; - id++; - } - } - id += ne00 * (ne01 - ir1); - } - } - } else if (dst->type == GGML_TYPE_F16) { - size_t id = 0; - ggml_fp16_t * dst_ptr = (ggml_fp16_t *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - for (int i00 = 0; i00 < ne00; i00++) { - const float * src0_ptr = (float *) ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - - dst_ptr[id] = GGML_CPU_FP32_TO_FP16(*src0_ptr); - id++; - } - } - id += ne00 * (ne01 - ir1); - } - } - } else if (dst->type == GGML_TYPE_BF16) { - size_t id = 0; - ggml_bf16_t * dst_ptr = (ggml_bf16_t *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - for (int i00 = 0; i00 < ne00; i00++) { - const float * src0_ptr = (float *) ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - - dst_ptr[id] = GGML_FP32_TO_BF16(*src0_ptr); - id++; - } - } - id += ne00 * (ne01 - ir1); - } - } - } else if (dst->type == GGML_TYPE_I32) { - size_t id = 0; - int32_t * dst_ptr = (int32_t *) dst->data; - - for (int i03 = 0; i03 < ne03; i03++) { - for (int i02 = 0; i02 < ne02; i02++) { - id += ne00 * ir0; - for (int i01 = ir0; i01 < ir1; i01++) { - for (int i00 = 0; i00 < ne00; i00++) { - const float * src0_ptr = (float *) ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - - dst_ptr[id] = *src0_ptr; - id++; - } - } - id += ne00 * (ne01 - ir1); - } - } - } else { - GGML_ABORT("fatal error"); // TODO: implement - } - } - - return; - } - - // dst counters - - int64_t i10 = 0; - int64_t i11 = 0; - int64_t i12 = 0; - int64_t i13 = 0; - - if (dst->type == GGML_TYPE_F32) { - for (int64_t i03 = 0; i03 < ne03; i03++) { - for (int64_t i02 = 0; i02 < ne02; i02++) { - i10 += ne00 * ir0; - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - for (int64_t i01 = ir0; i01 < ir1; i01++) { - for (int64_t i00 = 0; i00 < ne00; i00++) { - const char * src0_ptr = ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - char * dst_ptr = ((char *) dst->data + i10*nb0 + i11*nb1 + i12*nb2 + i13*nb3); - - memcpy(dst_ptr, src0_ptr, sizeof(float)); - - if (++i10 == ne0) { - i10 = 0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - i10 += ne00 * (ne01 - ir1); - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - } else if (dst->type == GGML_TYPE_F16) { - for (int64_t i03 = 0; i03 < ne03; i03++) { - for (int64_t i02 = 0; i02 < ne02; i02++) { - i10 += ne00 * ir0; - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - for (int64_t i01 = ir0; i01 < ir1; i01++) { - for (int64_t i00 = 0; i00 < ne00; i00++) { - const char * src0_ptr = ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - char * dst_ptr = ((char *) dst->data + i10*nb0 + i11*nb1 + i12*nb2 + i13*nb3); - - *(ggml_fp16_t *) dst_ptr = GGML_CPU_FP32_TO_FP16(*(const float *) src0_ptr); - - if (++i10 == ne0) { - i10 = 0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - i10 += ne00 * (ne01 - ir1); - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - } else if (dst->type == GGML_TYPE_BF16) { - for (int64_t i03 = 0; i03 < ne03; i03++) { - for (int64_t i02 = 0; i02 < ne02; i02++) { - i10 += ne00 * ir0; - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - for (int64_t i01 = ir0; i01 < ir1; i01++) { - for (int64_t i00 = 0; i00 < ne00; i00++) { - const char * src0_ptr = ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - char * dst_ptr = ((char *) dst->data + i10*nb0 + i11*nb1 + i12*nb2 + i13*nb3); - - *(ggml_bf16_t *) dst_ptr = GGML_FP32_TO_BF16(*(const float *) src0_ptr); - - if (++i10 == ne0) { - i10 = 0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - i10 += ne00 * (ne01 - ir1); - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - } else if (dst->type == GGML_TYPE_I32) { - for (int64_t i03 = 0; i03 < ne03; i03++) { - for (int64_t i02 = 0; i02 < ne02; i02++) { - i10 += ne00 * ir0; - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - for (int64_t i01 = ir0; i01 < ir1; i01++) { - for (int64_t i00 = 0; i00 < ne00; i00++) { - const char * src0_ptr = ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - char * dst_ptr = ((char *) dst->data + i10*nb0 + i11*nb1 + i12*nb2 + i13*nb3); - - *(int32_t *) dst_ptr = *(const float *) src0_ptr; - - if (++i10 == ne0) { - i10 = 0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - i10 += ne00 * (ne01 - ir1); - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - } else { - GGML_ABORT("fatal error"); // TODO: implement - } -} - -static void ggml_compute_forward_dup_i32( - const ggml_compute_params * params, - ggml_tensor * dst) { - - const ggml_tensor * src0 = dst->src[0]; - - GGML_ASSERT(ggml_nelements(dst) == ggml_nelements(src0)); - - GGML_TENSOR_UNARY_OP_LOCALS - - const int ith = params->ith; // thread index - const int nth = params->nth; // number of threads - - // parallelize by rows - const int nr = ne01; - // number of rows per thread - const int dr = (nr + nth - 1) / nth; - // row range for this thread - const int ir0 = dr * ith; - const int ir1 = MIN(ir0 + dr, nr); - - // dst counters - - int64_t i10 = 0; - int64_t i11 = 0; - int64_t i12 = 0; - int64_t i13 = 0; - - // TODO: not optimal, but works - if (dst->type == GGML_TYPE_F32) { - for (int64_t i03 = 0; i03 < ne03; i03++) { - for (int64_t i02 = 0; i02 < ne02; i02++) { - i10 += ne00 * ir0; - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - for (int64_t i01 = ir0; i01 < ir1; i01++) { - for (int64_t i00 = 0; i00 < ne00; i00++) { - const char * src0_ptr = ((char *) src0->data + i00*nb00 + i01*nb01 + i02*nb02 + i03*nb03); - char * dst_ptr = ((char *) dst->data + i10*nb0 + i11*nb1 + i12*nb2 + i13*nb3); - - *(float *) dst_ptr = *(const int32_t *) src0_ptr; - - if (++i10 == ne0) { - i10 = 0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - i10 += ne00 * (ne01 - ir1); - while (i10 >= ne0) { - i10 -= ne0; - if (++i11 == ne1) { - i11 = 0; - if (++i12 == ne2) { - i12 = 0; - if (++i13 == ne3) { - i13 = 0; - } - } - } - } - } - } - } else { - GGML_ABORT("fatal error"); // TODO: implement + // printf("%s %s\n", ggml_type_name(src0->type), ggml_type_name(dst->type)); + GGML_ABORT("not implemented"); } } @@ -1258,7 +470,7 @@ static void ggml_compute_forward_dup_bytes( } } -static void ggml_compute_forward_dup_q( +static void ggml_compute_forward_dup_from_q( const ggml_compute_params * params, ggml_tensor * dst) { @@ -1323,24 +535,35 @@ void ggml_compute_forward_dup( switch (src0->type) { case GGML_TYPE_F16: { - ggml_compute_forward_dup_f16(params, dst); + /**/ if (dst->type == GGML_TYPE_F16) ggml_compute_forward_dup_flt(params, dst); + else if (dst->type == GGML_TYPE_BF16) ggml_compute_forward_dup_flt(params, dst); + else if (dst->type == GGML_TYPE_F32) ggml_compute_forward_dup_flt(params, dst); + else ggml_compute_forward_dup_to_q(params, dst); } break; case GGML_TYPE_BF16: { - ggml_compute_forward_dup_bf16(params, dst); + /**/ if (dst->type == GGML_TYPE_F16) ggml_compute_forward_dup_flt(params, dst); + else if (dst->type == GGML_TYPE_BF16) ggml_compute_forward_dup_flt(params, dst); + else if (dst->type == GGML_TYPE_F32) ggml_compute_forward_dup_flt(params, dst); + else ggml_compute_forward_dup_to_q(params, dst); } break; case GGML_TYPE_F32: { - ggml_compute_forward_dup_f32(params, dst); + /**/ if (dst->type == GGML_TYPE_F16) ggml_compute_forward_dup_flt(params, dst); + else if (dst->type == GGML_TYPE_BF16) ggml_compute_forward_dup_flt(params, dst); + else if (dst->type == GGML_TYPE_F32) ggml_compute_forward_dup_flt(params, dst); + else if (dst->type == GGML_TYPE_I32) ggml_compute_forward_dup_flt(params, dst); + else ggml_compute_forward_dup_to_q(params, dst); } break; case GGML_TYPE_I32: { - ggml_compute_forward_dup_i32(params, dst); + if (dst->type == GGML_TYPE_F32) ggml_compute_forward_dup_flt(params, dst); + else GGML_ABORT("not implemented"); } break; default: { if (ggml_is_quantized(src0->type) && dst->type == GGML_TYPE_F32) { - ggml_compute_forward_dup_q(params, dst); + ggml_compute_forward_dup_from_q(params, dst); break; } GGML_ABORT("fatal error"); diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 01cbf87533..507b691dc9 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -6629,9 +6629,11 @@ static std::vector> make_test_cases_perf() { test_cases.emplace_back(new test_bin_bcast(ggml_add, GGML_TYPE_F32, {4096, 1, 1, 1}, {1, 1, 1, 1})); test_cases.emplace_back(new test_bin_bcast(ggml_add, GGML_TYPE_F32, {4096, 1, 1, 1}, {1, 512, 1, 1})); - test_cases.emplace_back(new test_cpy(GGML_TYPE_F32, GGML_TYPE_F16, {512, 3072, 1, 1})); - test_cases.emplace_back(new test_cpy(GGML_TYPE_F32, GGML_TYPE_F32, {8192, 512, 2, 1}, {0, 2, 1, 3})); - test_cases.emplace_back(new test_cpy(GGML_TYPE_F32, GGML_TYPE_F32, {3072, 512, 2, 1}, {0, 2, 1, 3})); + test_cases.emplace_back(new test_cpy(GGML_TYPE_F32, GGML_TYPE_F16, {512, 3072, 1, 1})); + test_cases.emplace_back(new test_cpy(GGML_TYPE_F32, GGML_TYPE_F32, {8192, 512, 2, 1}, {0, 2, 1, 3})); + test_cases.emplace_back(new test_cpy(GGML_TYPE_F32, GGML_TYPE_F32, {3072, 512, 2, 1}, {0, 2, 1, 3})); + test_cases.emplace_back(new test_cpy(GGML_TYPE_F32, GGML_TYPE_Q4_0, {8192, 512, 2, 1})); + test_cases.emplace_back(new test_cpy(GGML_TYPE_Q4_0, GGML_TYPE_F32, {8192, 512, 2, 1})); test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {4096, 4096, 5, 1}, false, false, GGML_TYPE_F32, {1, 1}, 1.0f, 0.0f)); test_cases.emplace_back(new test_soft_max(GGML_TYPE_F32, {12888, 256, 5, 1}, false, false, GGML_TYPE_F32, {1, 1}, 1.0f, 0.0f)); From 4b8560ab56fdd9819358b47c338bbc8ec357c57e Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Fri, 19 Sep 2025 13:02:51 +0700 Subject: [PATCH 44/52] chat : fix build on arm64 (#16101) --- common/chat.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/common/chat.cpp b/common/chat.cpp index 4707c4fef4..5ac57f1e80 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -1741,10 +1741,12 @@ static void common_chat_parse_gpt_oss(common_chat_msg_parser & builder) { static common_chat_params common_chat_params_init_firefunction_v2(const common_chat_template & tmpl, const struct templates_params & inputs) { LOG_DBG("%s\n", __func__); common_chat_params data; - data.prompt = apply(tmpl, inputs, /* messages_override =*/ std::nullopt, /* tools_override= */ json(), json { + const std::optional tools_override = json(); + const std::optional additional_context = json { {"datetime", format_time(inputs.now, "%b %d %Y %H:%M:%S GMT")}, {"functions", json(inputs.tools.empty() ? "" : inputs.tools.dump(2))}, - }); + }; + data.prompt = apply(tmpl, inputs, /* messages_override =*/ std::nullopt, tools_override, additional_context); if (inputs.tools.is_array() && !inputs.tools.empty()) { data.grammar_lazy = inputs.tool_choice != COMMON_CHAT_TOOL_CHOICE_REQUIRED; data.grammar = build_grammar([&](const common_grammar_builder & builder) { From 4067f07fc5aa5722b87db303b561597004696f6c Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Fri, 19 Sep 2025 09:52:27 +0200 Subject: [PATCH 45/52] feat: Improve mobile UI for Settings Dialog (#16084) * feat: Improve mobile UI for Settings Dialog * chore: update webui build output * fix: Linting errors * chore: update webui build output --- tools/server/public/index.html.gz | Bin 842295 -> 843352 bytes .../server/webui/scripts/install-git-hooks.sh | 16 +- tools/server/webui/src/app.css | 12 + .../ChatSettings/ChatSettingsDialog.svelte | 275 +++++++++--------- .../ChatSettings/ChatSettingsFields.svelte | 145 +++++++++ .../ChatSettings/ChatSettingsFooter.svelte | 13 +- .../ChatSettings/ChatSettingsSection.svelte | 23 -- .../webui/src/lib/components/app/index.ts | 2 +- 8 files changed, 313 insertions(+), 173 deletions(-) create mode 100644 tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsFields.svelte delete mode 100644 tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsSection.svelte diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index 909fa1cceb81d4030c5a11b475304ba206a8d95b..c6d8258d7f81499c0317e6a32c3f89227ac875c4 100644 GIT binary patch delta 842424 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�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®S9f8_en)%(*)K^e#X7 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 |*lr5BWa4G# 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

    dJq*L)zB`R-i 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%0Ai4`NJ_Jt!`6S&N>Y1mjsd?_ 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

    ZoKv?NCFL%Uy+<{uY3YH4q#xWJtn^hW0 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'^BI9#L%T06S+T@YBJ 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 L>+L3mRMRT}ym1Rb delta 841171 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͂yEPFA%&IzHCG+waj=5*H4(soAR=y+dP>> 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

    =$DONe8zptA2e0 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

    Y?KPRmttvmnM)lg)m-rRPGk7&r`X265SWC`h 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

    (LqyuD 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%0DsXBYD&Ly>2}%ad$k6}f<03m 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 diff --git a/tools/server/webui/scripts/install-git-hooks.sh b/tools/server/webui/scripts/install-git-hooks.sh index 740075e281..a2a3ca76f5 100755 --- a/tools/server/webui/scripts/install-git-hooks.sh +++ b/tools/server/webui/scripts/install-git-hooks.sh @@ -1,7 +1,7 @@ #!/bin/bash # Script to install pre-commit and post-commit hooks for webui -# Pre-commit: formats code and builds, stashes unstaged changes +# Pre-commit: formats, lints, checks, and builds code, stashes unstaged changes # Post-commit: automatically unstashes changes REPO_ROOT=$(git rev-parse --show-toplevel) @@ -44,6 +44,18 @@ if git diff --cached --name-only | grep -q "^tools/server/webui/"; then exit 1 fi + # Run the lint command + npm run lint + + # Check if lint command succeeded + if [ $? -ne 0 ]; then + echo "Error: npm run lint failed" + if [ $STASH_CREATED -eq 0 ]; then + echo "You can restore your unstaged changes with: git stash pop" + fi + exit 1 + fi + # Run the check command npm run check @@ -112,7 +124,7 @@ if [ $? -eq 0 ]; then echo " Post-commit: $POST_COMMIT_HOOK" echo "" echo "The hooks will automatically:" - echo " • Format and build webui code before commits" + echo " • Format, lint, check, and build webui code before commits" echo " • Stash unstaged changes during the process" echo " • Restore your unstaged changes after the commit" echo "" diff --git a/tools/server/webui/src/app.css b/tools/server/webui/src/app.css index d05a422f02..a9ac80ab9c 100644 --- a/tools/server/webui/src/app.css +++ b/tools/server/webui/src/app.css @@ -121,3 +121,15 @@ @apply bg-background text-foreground; } } + +@layer utilities { + .scrollbar-hide { + /* Hide scrollbar for Chrome, Safari and Opera */ + &::-webkit-scrollbar { + display: none; + } + /* Hide scrollbar for IE, Edge and Firefox */ + -ms-overflow-style: none; + scrollbar-width: none; + } +} diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsDialog.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsDialog.svelte index 6752f06636..0d9cca0589 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsDialog.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettingsDialog.svelte @@ -1,15 +1,20 @@ - -

    -
    + +
    + + - -
    - - {#each currentSection.fields as field (field.key)} -
    - {#if field.type === 'input'} - + +
    +
    + Settings - (localConfig[field.key] = e.currentTarget.value)} - placeholder={`Default: ${SETTING_CONFIG_DEFAULT[field.key] || 'none'}`} - class="max-w-md" - /> - {#if field.help || SETTING_CONFIG_INFO[field.key]} -

    - {field.help || SETTING_CONFIG_INFO[field.key]} -

    - {/if} - {:else if field.type === 'textarea'} - + +
    + -

QI(Y2`lhCP>I$y_ONy0vR<)KC2MNAtOpChD| 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