.clang-format | 9 +- .clang-tidy | 1 + .devops/intel.Dockerfile | 6 +- .devops/musa.Dockerfile | 2 +- .devops/nix/package.nix | 4 - .devops/rocm.Dockerfile | 27 +- .devops/s390x.Dockerfile | 126 + .editorconfig | 8 + .github/actions/install-exe/action.yml | 36 + .github/actions/linux-setup-spacemit/action.yml | 20 + .github/actions/linux-setup-vulkan/action.yml | 20 + .github/actions/unarchive-tar/action.yml | 27 + .github/actions/windows-setup-rocm/action.yml | 15 + .github/workflows/build-amd.yml | 52 + .github/workflows/build-cache.yml | 89 + .github/workflows/build-linux-cross.yml | 195 +- .github/workflows/build-riscv-native.yml | 62 +- .github/workflows/build.yml | 556 +- .github/workflows/close-issue.yml | 2 +- .github/workflows/docker.yml | 88 +- .github/workflows/release.yml | 68 +- .github/workflows/server.yml | 235 +- .github/workflows/update-ops-docs.yml | 2 + .gitignore | 5 + CMakeLists.txt | 12 + CODEOWNERS | 126 +- CONTRIBUTING.md | 33 +- README.md | 9 +- build-xcframework.sh | 1 + ci/README-MUSA.md | 35 + ci/README.md | 55 +- ci/run.sh | 534 +- cmake/riscv64-spacemit-linux-gnu-gcc.cmake | 29 + common/CMakeLists.txt | 39 +- common/arg.cpp | 1561 +- common/arg.h | 1 - common/chat-parser.cpp | 171 +- common/chat-parser.h | 3 + common/chat.cpp | 882 +- common/chat.h | 14 +- common/common.cpp | 137 +- common/common.h | 55 +- common/http.h | 73 + common/json-partial.cpp | 51 + common/json-schema-to-grammar.cpp | 81 +- common/log.cpp | 55 +- common/log.h | 14 +- common/sampling.cpp | 26 +- common/sampling.h | 4 +- common/speculative.cpp | 2 +- convert_hf_to_gguf.py | 1720 +- convert_hf_to_gguf_update.py | 6 +- convert_lora_to_gguf.py | 28 +- docs/backend/CANN.md | 20 +- docs/backend/SYCL.md | 48 +- docs/backend/hexagon/CMakeUserPresets.json | 49 + docs/backend/hexagon/README.md | 239 + docs/backend/hexagon/developer.md | 109 + docs/backend/zDNN.md | 61 + docs/build-riscv64-spacemit.md | 89 + docs/build-s390x.md | 84 +- docs/build.md | 12 +- docs/docker.md | 8 +- docs/function-calling.md | 2 + docs/multimodal/minicpmv4.0.md | 2 +- docs/multimodal/minicpmv4.5.md | 47 + docs/ops.md | 33 +- docs/ops/CPU.csv | 16 + docs/ops/SYCL.csv | 16370 +- docs/ops/Vulkan.csv | 42 +- docs/ops/zDNN.csv | 11114 +- examples/CMakeLists.txt | 1 - examples/Miku.sh | 50 - examples/chat-13B.bat | 57 - examples/chat-13B.sh | 41 - examples/chat-persistent.sh | 149 - examples/chat-vicuna.sh | 41 - examples/chat.sh | 16 - .../convert-llama2c-to-ggml.cpp | 10 +- examples/diffusion/diffusion-cli.cpp | 26 +- examples/embedding/README.md | 5 +- examples/embedding/embedding.cpp | 131 +- examples/eval-callback/CMakeLists.txt | 9 +- examples/eval-callback/eval-callback.cpp | 61 +- examples/gritlm/CMakeLists.txt | 5 - examples/gritlm/README.md | 62 - examples/gritlm/gritlm.cpp | 231 - examples/jeopardy/README.md | 21 - examples/jeopardy/graph.py | 58 - examples/jeopardy/jeopardy.sh | 30 - examples/jeopardy/qasheet.csv | 103 - examples/jeopardy/questions.txt | 100 - examples/json_schema_to_grammar.py | 31 +- examples/llm.vim | 28 - examples/model-conversion/Makefile | 87 +- examples/model-conversion/README.md | 62 +- examples/model-conversion/logits.cpp | 111 +- examples/model-conversion/requirements.txt | 10 +- .../scripts/causal/compare-embeddings-logits.sh | 2 +- .../scripts/causal/compare-logits.py | 2 +- .../scripts/causal/convert-model.sh | 36 +- .../modelcard.template} | 0 ...ngs-org.sh => run-casual-gen-embeddings-org.py} | 5 +- .../run-converted-model-embeddings-logits.sh | 2 +- .../scripts/causal/run-converted-model.sh | 2 +- .../scripts/causal/run-org-model.py | 162 +- .../scripts/embedding/compare-embeddings-logits.sh | 51 +- .../scripts/embedding/convert-model.sh | 20 +- .../scripts/embedding/modelcard.template | 48 + .../scripts/embedding/run-converted-model.sh | 49 +- .../scripts/embedding/run-original-model.py | 175 +- .../model-conversion/scripts/utils/check-nmse.py | 2 +- .../scripts/utils/create-collection-add-model.sh | 2 + .../scripts/utils/curl-embedding-server.sh | 6 + .../scripts/utils/hf-create-model.py | 47 +- .../scripts/utils/inspect-converted-model.sh | 2 +- .../scripts/utils/perplexity-gen.sh | 2 +- .../scripts/utils/perplexity-run-simple.sh | 2 +- .../scripts/utils/perplexity-run.sh | 2 +- .../model-conversion/scripts/utils/quantize.sh | 20 +- .../scripts/utils/run-embedding-server.sh | 2 +- .../scripts/utils/semantic_check.py | 154 +- examples/passkey/passkey.cpp | 75 +- examples/simple/simple.cpp | 14 + examples/speculative/speculative.cpp | 4 +- ggml/CMakeLists.txt | 75 +- ggml/include/ggml-backend.h | 20 +- ggml/include/ggml-calrt.h | 41 + ggml/include/ggml-cpu.h | 2 +- ggml/include/ggml-hexagon.h | 19 + ggml/include/ggml-metal.h | 7 +- ggml/include/ggml-rpc.h | 16 +- ggml/include/ggml-zdnn.h | 3 +- ggml/include/ggml.h | 133 +- ggml/src/CMakeLists.txt | 23 + ggml/src/ggml-alloc.c | 429 +- ggml/src/ggml-backend-impl.h | 8 +- ggml/src/ggml-backend-reg.cpp | 26 +- ggml/src/ggml-backend.cpp | 103 +- ggml/src/ggml-blas/CMakeLists.txt | 2 +- ggml/src/ggml-blas/ggml-blas.cpp | 1 + ggml/src/ggml-calrt/CMakeLists.txt | 69 + ggml/src/ggml-calrt/cal-runtime.h | 45 + ggml/src/ggml-calrt/calrt-common.h | 41 + ggml/src/ggml-calrt/calrt-op.cpp | 339 + ggml/src/ggml-calrt/calrt-op.h | 10 + ggml/src/ggml-calrt/ggml-calrt.cpp | 610 + ggml/src/ggml-cann/acl_tensor.cpp | 89 +- ggml/src/ggml-cann/acl_tensor.h | 97 +- ggml/src/ggml-cann/aclnn_ops.cpp | 3010 +- ggml/src/ggml-cann/aclnn_ops.h | 407 +- ggml/src/ggml-cann/common.h | 281 +- ggml/src/ggml-cann/ggml-cann.cpp | 1433 +- ggml/src/ggml-cpu/CMakeLists.txt | 116 +- ggml/src/ggml-cpu/amx/amx.cpp | 7 +- ggml/src/ggml-cpu/arch-fallback.h | 1 - ggml/src/ggml-cpu/arch/loongarch/quants.c | 33 +- ggml/src/ggml-cpu/arch/riscv/quants.c | 306 +- ggml/src/ggml-cpu/arch/s390/cpu-feats.cpp | 50 + ggml/src/ggml-cpu/arch/s390/quants.c | 215 +- ggml/src/ggml-cpu/arch/x86/repack.cpp | 4 +- ggml/src/ggml-cpu/common.h | 14 + ggml/src/ggml-cpu/ggml-cpu-impl.h | 19 +- ggml/src/ggml-cpu/ggml-cpu.c | 108 +- ggml/src/ggml-cpu/ggml-cpu.cpp | 18 +- ggml/src/ggml-cpu/kleidiai/kernels.cpp | 318 +- ggml/src/ggml-cpu/kleidiai/kernels.h | 81 +- ggml/src/ggml-cpu/kleidiai/kleidiai.cpp | 217 +- ggml/src/ggml-cpu/llamafile/sgemm.cpp | 355 +- ggml/src/ggml-cpu/ops.cpp | 1239 +- ggml/src/ggml-cpu/ops.h | 1 + ggml/src/ggml-cpu/repack.cpp | 103 +- ggml/src/ggml-cpu/simd-mappings.h | 191 +- ggml/src/ggml-cpu/spacemit/ime.cpp | 1025 + ggml/src/ggml-cpu/spacemit/ime.h | 13 + ggml/src/ggml-cpu/spacemit/ime1_kernels.cpp | 3196 + ggml/src/ggml-cpu/spacemit/ime_kernels.h | 26 + ggml/src/ggml-cpu/unary-ops.cpp | 135 + ggml/src/ggml-cpu/unary-ops.h | 5 + ggml/src/ggml-cpu/vec.cpp | 247 +- ggml/src/ggml-cpu/vec.h | 463 +- ggml/src/ggml-cuda/CMakeLists.txt | 20 +- ggml/src/ggml-cuda/argsort.cu | 108 +- ggml/src/ggml-cuda/binbcast.cu | 521 +- ggml/src/ggml-cuda/binbcast.cuh | 2 + ggml/src/ggml-cuda/common.cuh | 223 +- ggml/src/ggml-cuda/conv2d.cu | 166 + ggml/src/ggml-cuda/conv2d.cuh | 5 + ggml/src/ggml-cuda/convert.cuh | 3 + ggml/src/ggml-cuda/cpy.cu | 254 +- ggml/src/ggml-cuda/cpy.cuh | 6 +- ggml/src/ggml-cuda/fattn-common.cuh | 630 +- ggml/src/ggml-cuda/fattn-tile-f16.cu | 371 - ggml/src/ggml-cuda/fattn-tile-f16.cuh | 3 - ggml/src/ggml-cuda/fattn-tile-f32.cu | 379 - ggml/src/ggml-cuda/fattn-tile-f32.cuh | 3 - ggml/src/ggml-cuda/fattn-tile.cu | 49 + ggml/src/ggml-cuda/fattn-tile.cuh | 1233 + ggml/src/ggml-cuda/fattn-vec-f16.cuh | 495 - ggml/src/ggml-cuda/fattn-vec-f32.cuh | 486 - ggml/src/ggml-cuda/fattn-vec.cuh | 586 + ggml/src/ggml-cuda/fattn-wmma-f16.cu | 12 +- ggml/src/ggml-cuda/fattn-wmma-f16.cuh | 48 + ggml/src/ggml-cuda/fattn.cu | 343 +- ggml/src/ggml-cuda/getrows.cu | 80 +- ggml/src/ggml-cuda/ggml-cuda.cu | 696 +- ggml/src/ggml-cuda/im2col.cu | 150 + ggml/src/ggml-cuda/im2col.cuh | 1 + ggml/src/ggml-cuda/mma.cuh | 238 +- ggml/src/ggml-cuda/mmf.cu | 428 +- ggml/src/ggml-cuda/mmf.cuh | 796 +- ggml/src/ggml-cuda/mmid.cu | 164 + ggml/src/ggml-cuda/mmid.cuh | 5 + ggml/src/ggml-cuda/mmq.cu | 69 +- ggml/src/ggml-cuda/mmq.cuh | 34 +- ggml/src/ggml-cuda/mmv.cu | 506 + ggml/src/ggml-cuda/mmvf.cu | 434 +- ggml/src/ggml-cuda/mmvf.cuh | 3 +- ggml/src/ggml-cuda/mmvq.cu | 426 +- ggml/src/ggml-cuda/mmvq.cuh | 2 +- ggml/src/ggml-cuda/moe-expert-reduce.cu | 168 + ggml/src/ggml-cuda/moe-expert-reduce.cuh | 11 + ggml/src/ggml-cuda/norm.cu | 247 +- ggml/src/ggml-cuda/norm.cuh | 5 + ggml/src/ggml-cuda/pad.cu | 69 +- ggml/src/ggml-cuda/pad_reflect_1d.cu | 117 +- ggml/src/ggml-cuda/quantize.cu | 22 +- ggml/src/ggml-cuda/rope.cu | 47 +- ggml/src/ggml-cuda/scale.cu | 19 +- ggml/src/ggml-cuda/set-rows.cu | 212 +- ggml/src/ggml-cuda/set.cu | 39 + ggml/src/ggml-cuda/set.cuh | 7 + ggml/src/ggml-cuda/ssm-scan.cu | 2 +- .../fattn-tile-instance-dkq112-dv112.cu | 5 + .../fattn-tile-instance-dkq128-dv128.cu | 5 + .../fattn-tile-instance-dkq256-dv256.cu | 5 + .../fattn-tile-instance-dkq40-dv40.cu | 5 + .../fattn-tile-instance-dkq576-dv512.cu | 5 + .../fattn-tile-instance-dkq64-dv64.cu | 5 + .../fattn-tile-instance-dkq72-dv72.cu | 5 + .../fattn-tile-instance-dkq80-dv80.cu | 5 + .../fattn-tile-instance-dkq96-dv96.cu | 5 + .../fattn-vec-f16-instance-hs128-f16-f16.cu | 5 - .../fattn-vec-f16-instance-hs128-f16-q4_0.cu | 5 - .../fattn-vec-f16-instance-hs128-f16-q4_1.cu | 5 - .../fattn-vec-f16-instance-hs128-f16-q5_0.cu | 5 - .../fattn-vec-f16-instance-hs128-f16-q5_1.cu | 5 - .../fattn-vec-f16-instance-hs128-f16-q8_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_0-f16.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_0-q4_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_0-q4_1.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_0-q5_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_0-q5_1.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_0-q8_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_1-f16.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_1-q4_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_1-q4_1.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_1-q5_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_1-q5_1.cu | 5 - .../fattn-vec-f16-instance-hs128-q4_1-q8_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_0-f16.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_0-q4_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_0-q4_1.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_0-q5_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_0-q5_1.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_0-q8_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_1-f16.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_1-q4_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_1-q4_1.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_1-q5_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_1-q5_1.cu | 5 - .../fattn-vec-f16-instance-hs128-q5_1-q8_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q8_0-f16.cu | 5 - .../fattn-vec-f16-instance-hs128-q8_0-q4_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q8_0-q4_1.cu | 5 - .../fattn-vec-f16-instance-hs128-q8_0-q5_0.cu | 5 - .../fattn-vec-f16-instance-hs128-q8_0-q5_1.cu | 5 - .../fattn-vec-f16-instance-hs128-q8_0-q8_0.cu | 5 - .../fattn-vec-f16-instance-hs256-f16-f16.cu | 5 - .../fattn-vec-f16-instance-hs64-f16-f16.cu | 5 - .../fattn-vec-f16-instance-hs64-f16-q4_0.cu | 5 - .../fattn-vec-f16-instance-hs64-f16-q4_1.cu | 5 - .../fattn-vec-f16-instance-hs64-f16-q5_0.cu | 5 - .../fattn-vec-f16-instance-hs64-f16-q5_1.cu | 5 - .../fattn-vec-f16-instance-hs64-f16-q8_0.cu | 5 - .../fattn-vec-f32-instance-hs128-f16-f16.cu | 5 - .../fattn-vec-f32-instance-hs128-f16-q4_0.cu | 5 - .../fattn-vec-f32-instance-hs128-f16-q4_1.cu | 5 - .../fattn-vec-f32-instance-hs128-f16-q5_0.cu | 5 - .../fattn-vec-f32-instance-hs128-f16-q5_1.cu | 5 - .../fattn-vec-f32-instance-hs128-f16-q8_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_0-f16.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_0-q4_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_0-q4_1.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_0-q5_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_0-q5_1.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_0-q8_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_1-f16.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_1-q4_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_1-q4_1.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_1-q5_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_1-q5_1.cu | 5 - .../fattn-vec-f32-instance-hs128-q4_1-q8_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_0-f16.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_0-q4_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_0-q4_1.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_0-q5_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_0-q5_1.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_0-q8_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_1-f16.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_1-q4_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_1-q4_1.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_1-q5_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_1-q5_1.cu | 5 - .../fattn-vec-f32-instance-hs128-q5_1-q8_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q8_0-f16.cu | 5 - .../fattn-vec-f32-instance-hs128-q8_0-q4_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q8_0-q4_1.cu | 5 - .../fattn-vec-f32-instance-hs128-q8_0-q5_0.cu | 5 - .../fattn-vec-f32-instance-hs128-q8_0-q5_1.cu | 5 - .../fattn-vec-f32-instance-hs128-q8_0-q8_0.cu | 5 - .../fattn-vec-f32-instance-hs256-f16-f16.cu | 5 - .../fattn-vec-f32-instance-hs64-f16-f16.cu | 5 - .../fattn-vec-f32-instance-hs64-f16-q4_0.cu | 5 - .../fattn-vec-f32-instance-hs64-f16-q4_1.cu | 5 - .../fattn-vec-f32-instance-hs64-f16-q5_0.cu | 5 - .../fattn-vec-f32-instance-hs64-f16-q5_1.cu | 5 - .../fattn-vec-f32-instance-hs64-f16-q8_0.cu | 5 - .../fattn-vec-instance-f16-f16.cu | 7 + .../fattn-vec-instance-f16-q4_0.cu | 7 + .../fattn-vec-instance-f16-q4_1.cu | 7 + .../fattn-vec-instance-f16-q5_0.cu | 7 + .../fattn-vec-instance-f16-q5_1.cu | 7 + .../fattn-vec-instance-f16-q8_0.cu | 7 + .../fattn-vec-instance-q4_0-f16.cu | 7 + .../fattn-vec-instance-q4_0-q4_0.cu | 7 + .../fattn-vec-instance-q4_0-q4_1.cu | 7 + .../fattn-vec-instance-q4_0-q5_0.cu | 7 + .../fattn-vec-instance-q4_0-q5_1.cu | 7 + .../fattn-vec-instance-q4_0-q8_0.cu | 7 + .../fattn-vec-instance-q4_1-f16.cu | 7 + .../fattn-vec-instance-q4_1-q4_0.cu | 7 + .../fattn-vec-instance-q4_1-q4_1.cu | 7 + .../fattn-vec-instance-q4_1-q5_0.cu | 7 + .../fattn-vec-instance-q4_1-q5_1.cu | 7 + .../fattn-vec-instance-q4_1-q8_0.cu | 7 + .../fattn-vec-instance-q5_0-f16.cu | 7 + .../fattn-vec-instance-q5_0-q4_0.cu | 7 + .../fattn-vec-instance-q5_0-q4_1.cu | 7 + .../fattn-vec-instance-q5_0-q5_0.cu | 7 + .../fattn-vec-instance-q5_0-q5_1.cu | 7 + .../fattn-vec-instance-q5_0-q8_0.cu | 7 + .../fattn-vec-instance-q5_1-f16.cu | 7 + .../fattn-vec-instance-q5_1-q4_0.cu | 7 + .../fattn-vec-instance-q5_1-q4_1.cu | 7 + .../fattn-vec-instance-q5_1-q5_0.cu | 7 + .../fattn-vec-instance-q5_1-q5_1.cu | 7 + .../fattn-vec-instance-q5_1-q8_0.cu | 7 + .../fattn-vec-instance-q8_0-f16.cu | 7 + .../fattn-vec-instance-q8_0-q4_0.cu | 7 + .../fattn-vec-instance-q8_0-q4_1.cu | 7 + .../fattn-vec-instance-q8_0-q5_0.cu | 7 + .../fattn-vec-instance-q8_0-q5_1.cu | 7 + .../fattn-vec-instance-q8_0-q8_0.cu | 7 + .../template-instances/generate_cu_files.py | 59 +- .../template-instances/mmf-instance-ncols_1.cu | 5 + .../template-instances/mmf-instance-ncols_10.cu | 5 + .../template-instances/mmf-instance-ncols_11.cu | 5 + .../template-instances/mmf-instance-ncols_12.cu | 5 + .../template-instances/mmf-instance-ncols_13.cu | 5 + .../template-instances/mmf-instance-ncols_14.cu | 5 + .../template-instances/mmf-instance-ncols_15.cu | 5 + .../template-instances/mmf-instance-ncols_16.cu | 5 + .../template-instances/mmf-instance-ncols_2.cu | 5 + .../template-instances/mmf-instance-ncols_3.cu | 5 + .../template-instances/mmf-instance-ncols_4.cu | 5 + .../template-instances/mmf-instance-ncols_5.cu | 5 + .../template-instances/mmf-instance-ncols_6.cu | 5 + .../template-instances/mmf-instance-ncols_7.cu | 5 + .../template-instances/mmf-instance-ncols_8.cu | 5 + .../template-instances/mmf-instance-ncols_9.cu | 5 + ggml/src/ggml-cuda/topk-moe.cu | 336 + ggml/src/ggml-cuda/topk-moe.cuh | 16 + ggml/src/ggml-cuda/tsembd.cu | 6 +- ggml/src/ggml-cuda/unary.cu | 100 +- ggml/src/ggml-cuda/unary.cuh | 32 + ggml/src/ggml-cuda/upscale.cu | 4 +- ggml/src/ggml-cuda/vecdotq.cuh | 52 + ggml/src/ggml-cuda/vendors/hip.h | 43 +- ggml/src/ggml-hexagon/CMakeLists.txt | 68 + ggml/src/ggml-hexagon/ggml-hexagon.cpp | 3804 + ggml/src/ggml-hexagon/htp-utils.c | 448 + ggml/src/ggml-hexagon/htp-utils.h | 219 + ggml/src/ggml-hexagon/htp/CMakeLists.txt | 40 + ggml/src/ggml-hexagon/htp/act-ops.c | 448 + ggml/src/ggml-hexagon/htp/binary-ops.c | 344 + ggml/src/ggml-hexagon/htp/cmake-toolchain.cmake | 157 + ggml/src/ggml-hexagon/htp/htp-ctx.h | 40 + ggml/src/ggml-hexagon/htp/htp-dma.c | 69 + ggml/src/ggml-hexagon/htp/htp-dma.h | 119 + ggml/src/ggml-hexagon/htp/htp-msg.h | 156 + ggml/src/ggml-hexagon/htp/htp-ops.h | 53 + ggml/src/ggml-hexagon/htp/htp_iface.idl | 16 + ggml/src/ggml-hexagon/htp/hvx-exp.c | 80 + ggml/src/ggml-hexagon/htp/hvx-inverse.c | 60 + ggml/src/ggml-hexagon/htp/hvx-sigmoid.c | 49 + ggml/src/ggml-hexagon/htp/hvx-utils.c | 947 + ggml/src/ggml-hexagon/htp/hvx-utils.h | 998 + ggml/src/ggml-hexagon/htp/main.c | 829 + ggml/src/ggml-hexagon/htp/matmul-ops.c | 2223 + ggml/src/ggml-hexagon/htp/ops-utils.h | 116 + ggml/src/ggml-hexagon/htp/rope-ops.c | 418 + ggml/src/ggml-hexagon/htp/softmax-ops.c | 402 + ggml/src/ggml-hexagon/htp/unary-ops.c | 255 + ggml/src/ggml-hexagon/htp/worker-pool.c | 297 + ggml/src/ggml-hexagon/htp/worker-pool.h | 57 + ggml/src/ggml-hip/CMakeLists.txt | 21 +- ggml/src/ggml-impl.h | 122 +- ggml/src/ggml-metal/CMakeLists.txt | 11 +- ggml/src/ggml-metal/ggml-metal-common.cpp | 446 + ggml/src/ggml-metal/ggml-metal-common.h | 52 + ggml/src/ggml-metal/ggml-metal-context.h | 33 + ggml/src/ggml-metal/ggml-metal-context.m | 600 + ggml/src/ggml-metal/ggml-metal-device.cpp | 1572 + ggml/src/ggml-metal/ggml-metal-device.h | 244 + ggml/src/ggml-metal/ggml-metal-device.m | 1322 + ggml/src/ggml-metal/ggml-metal-impl.h | 225 +- ggml/src/ggml-metal/ggml-metal-ops.cpp | 3583 + ggml/src/ggml-metal/ggml-metal-ops.h | 88 + ggml/src/ggml-metal/ggml-metal.cpp | 718 + ggml/src/ggml-metal/ggml-metal.m | 6827 - ggml/src/ggml-metal/ggml-metal.metal | 4787 +- ggml/src/ggml-musa/CMakeLists.txt | 4 +- ggml/src/ggml-opencl/CMakeLists.txt | 9 + ggml/src/ggml-opencl/ggml-opencl.cpp | 1405 +- ggml/src/ggml-opencl/kernels/cvt.cl | 126 + ggml/src/ggml-opencl/kernels/flash_attn_f16.cl | 35 +- ggml/src/ggml-opencl/kernels/flash_attn_f32.cl | 42 +- ggml/src/ggml-opencl/kernels/flash_attn_f32_f16.cl | 35 +- ggml/src/ggml-opencl/kernels/gemm_moe_mxfp4_f32.cl | 162 + ggml/src/ggml-opencl/kernels/gemv_moe_mxfp4_f32.cl | 156 + ggml/src/ggml-opencl/kernels/get_rows.cl | 48 +- ggml/src/ggml-opencl/kernels/group_norm.cl | 49 + .../ggml-opencl/kernels/mul_mm_f16_f32_l4_lm.cl | 34 +- .../ggml-opencl/kernels/mul_mm_f32_f32_l4_lm.cl | 34 +- .../ggml-opencl/kernels/mul_mm_q8_0_f32_l4_lm.cl | 154 + .../kernels/mul_mv_id_mxfp4_f32_flat.cl | 176 + ggml/src/ggml-opencl/kernels/mul_mv_id_q8_0_f32.cl | 140 + .../ggml-opencl/kernels/mul_mv_id_q8_0_f32_flat.cl | 222 + .../ggml-opencl/kernels/mul_mv_mxfp4_f32_flat.cl | 167 + ggml/src/ggml-opencl/kernels/mul_mv_q8_0_f32.cl | 125 + .../ggml-opencl/kernels/mul_mv_q8_0_f32_flat.cl | 202 + ggml/src/ggml-opencl/kernels/norm.cl | 80 + ggml/src/ggml-opencl/kernels/pad.cl | 49 +- ggml/src/ggml-opencl/kernels/rope.cl | 74 +- ggml/src/ggml-opencl/kernels/set_rows.cl | 98 +- ggml/src/ggml-opencl/kernels/tsembd.cl | 4 +- ggml/src/ggml-quants.c | 1 + ggml/src/ggml-rpc/ggml-rpc.cpp | 502 +- ggml/src/ggml-sycl/backend.hpp | 6 + ggml/src/ggml-sycl/binbcast.cpp | 11 +- ggml/src/ggml-sycl/common.hpp | 89 +- ggml/src/ggml-sycl/concat.cpp | 41 +- ggml/src/ggml-sycl/conv.cpp | 14 +- ggml/src/ggml-sycl/convert.cpp | 265 +- ggml/src/ggml-sycl/count-equal.cpp | 79 + ggml/src/ggml-sycl/count-equal.hpp | 9 + ggml/src/ggml-sycl/cpy.cpp | 166 +- ggml/src/ggml-sycl/dmmv.cpp | 116 +- ggml/src/ggml-sycl/dpct/helper.hpp | 52 +- ggml/src/ggml-sycl/element_wise.cpp | 284 +- ggml/src/ggml-sycl/element_wise.hpp | 8 +- ggml/src/ggml-sycl/gemm.hpp | 3 + ggml/src/ggml-sycl/getrows.cpp | 15 +- ggml/src/ggml-sycl/ggml-sycl.cpp | 492 +- ggml/src/ggml-sycl/gla.cpp | 4 +- ggml/src/ggml-sycl/im2col.cpp | 2 +- ggml/src/ggml-sycl/mmq.cpp | 140 +- ggml/src/ggml-sycl/mmvq.cpp | 333 +- ggml/src/ggml-sycl/norm.cpp | 285 +- ggml/src/ggml-sycl/norm.hpp | 2 + ggml/src/ggml-sycl/pad.cpp | 97 + ggml/src/ggml-sycl/pad.hpp | 24 + ggml/src/ggml-sycl/pad_reflect_1d.cpp | 72 + ggml/src/ggml-sycl/pad_reflect_1d.hpp | 8 + ggml/src/ggml-sycl/presets.hpp | 2 + ggml/src/ggml-sycl/repeat_back.cpp | 76 + ggml/src/ggml-sycl/repeat_back.hpp | 8 + ggml/src/ggml-sycl/roll.cpp | 122 + ggml/src/ggml-sycl/roll.hpp | 20 + ggml/src/ggml-sycl/rope.cpp | 91 +- ggml/src/ggml-sycl/set.cpp | 73 + ggml/src/ggml-sycl/set.hpp | 5 + ggml/src/ggml-sycl/set_rows.cpp | 81 +- ggml/src/ggml-sycl/softmax.cpp | 495 +- ggml/src/ggml-sycl/softmax.hpp | 4 + ggml/src/ggml-sycl/ssm_conv.cpp | 127 + ggml/src/ggml-sycl/ssm_conv.hpp | 5 + ggml/src/ggml-sycl/tsembd.cpp | 18 +- ggml/src/ggml-sycl/wkv.cpp | 28 +- ggml/src/ggml-vulkan/CMakeLists.txt | 56 +- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 3522 +- ggml/src/ggml-vulkan/vulkan-shaders/acc.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/add.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/add_id.comp | 2 +- ggml/src/ggml-vulkan/vulkan-shaders/argmax.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/argsort.comp | 18 +- ggml/src/ggml-vulkan/vulkan-shaders/clamp.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/concat.comp | 4 +- .../ggml-vulkan/vulkan-shaders/contig_copy.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/conv2d_dw.comp | 2 +- ggml/src/ggml-vulkan/vulkan-shaders/conv2d_mm.comp | 26 +- .../vulkan-shaders/conv_transpose_1d.comp | 2 +- ggml/src/ggml-vulkan/vulkan-shaders/copy.comp | 4 +- .../vulkan-shaders/copy_from_quant.comp | 6 +- .../ggml-vulkan/vulkan-shaders/copy_to_quant.comp | 19 +- ggml/src/ggml-vulkan/vulkan-shaders/cos.comp | 4 +- .../ggml-vulkan/vulkan-shaders/count_equal.comp | 4 +- .../ggml-vulkan/vulkan-shaders/dequant_f32.comp | 2 +- .../{dequant_funcs.comp => dequant_funcs.glsl} | 140 +- ...quant_funcs_cm2.comp => dequant_funcs_cm2.glsl} | 22 +- .../{dequant_head.comp => dequant_head.glsl} | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_iq1_m.comp | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_iq1_s.comp | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_iq2_s.comp | 4 +- .../ggml-vulkan/vulkan-shaders/dequant_iq2_xs.comp | 2 +- .../vulkan-shaders/dequant_iq2_xxs.comp | 5 +- .../ggml-vulkan/vulkan-shaders/dequant_iq3_s.comp | 13 +- .../vulkan-shaders/dequant_iq3_xxs.comp | 8 +- .../ggml-vulkan/vulkan-shaders/dequant_iq4_nl.comp | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_iq4_xs.comp | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_mxfp4.comp | 6 +- .../ggml-vulkan/vulkan-shaders/dequant_q2_k.comp | 6 +- .../ggml-vulkan/vulkan-shaders/dequant_q3_k.comp | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_q4_0.comp | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_q4_1.comp | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_q4_k.comp | 6 +- .../ggml-vulkan/vulkan-shaders/dequant_q5_0.comp | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_q5_1.comp | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_q5_k.comp | 6 +- .../ggml-vulkan/vulkan-shaders/dequant_q6_k.comp | 2 +- .../ggml-vulkan/vulkan-shaders/dequant_q8_0.comp | 2 +- .../ggml-vulkan/vulkan-shaders/diag_mask_inf.comp | 2 +- ggml/src/ggml-vulkan/vulkan-shaders/div.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/exp.comp | 5 +- .../bfloat16.comp} | 0 .../coopmat.comp} | 0 .../coopmat2.comp} | 0 .../integer_dot.comp} | 0 .../src/ggml-vulkan/vulkan-shaders/flash_attn.comp | 30 +- .../{flash_attn_base.comp => flash_attn_base.glsl} | 62 +- .../ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp | 40 +- .../ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp | 44 +- .../vulkan-shaders/flash_attn_split_k_reduce.comp | 6 +- ggml/src/ggml-vulkan/vulkan-shaders/geglu.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/geglu_erf.comp | 4 +- .../ggml-vulkan/vulkan-shaders/geglu_quick.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/gelu.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/gelu_erf.comp | 4 +- .../src/ggml-vulkan/vulkan-shaders/gelu_quick.comp | 4 +- ...c_binary_head.comp => generic_binary_head.glsl} | 4 +- .../{generic_head.comp => generic_head.glsl} | 0 ...ric_unary_head.comp => generic_unary_head.glsl} | 0 ggml/src/ggml-vulkan/vulkan-shaders/get_rows.comp | 33 +- .../ggml-vulkan/vulkan-shaders/get_rows_quant.comp | 46 +- .../{glu_head.comp => glu_head.glsl} | 2 +- .../{glu_main.comp => glu_main.glsl} | 0 .../src/ggml-vulkan/vulkan-shaders/group_norm.comp | 4 +- .../ggml-vulkan/vulkan-shaders/hardsigmoid.comp | 22 + ggml/src/ggml-vulkan/vulkan-shaders/hardswish.comp | 22 + ggml/src/ggml-vulkan/vulkan-shaders/im2col.comp | 22 +- ggml/src/ggml-vulkan/vulkan-shaders/im2col_3d.comp | 125 + ggml/src/ggml-vulkan/vulkan-shaders/l2_norm.comp | 4 +- .../src/ggml-vulkan/vulkan-shaders/leaky_relu.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/mul.comp | 4 +- .../ggml-vulkan/vulkan-shaders/mul_mat_vec.comp | 2 +- ...mul_mat_vec_base.comp => mul_mat_vec_base.glsl} | 68 +- .../vulkan-shaders/mul_mat_vec_iq1_m.comp | 2 +- .../vulkan-shaders/mul_mat_vec_iq1_s.comp | 2 +- .../vulkan-shaders/mul_mat_vec_iq2_s.comp | 2 +- .../vulkan-shaders/mul_mat_vec_iq2_xs.comp | 2 +- .../vulkan-shaders/mul_mat_vec_iq2_xxs.comp | 2 +- .../vulkan-shaders/mul_mat_vec_iq3_s.comp | 2 +- .../vulkan-shaders/mul_mat_vec_iq3_xxs.comp | 2 +- .../ggml-vulkan/vulkan-shaders/mul_mat_vec_nc.comp | 6 + .../vulkan-shaders/mul_mat_vec_p021.comp | 6 + .../vulkan-shaders/mul_mat_vec_q2_k.comp | 8 +- .../vulkan-shaders/mul_mat_vec_q3_k.comp | 2 +- .../vulkan-shaders/mul_mat_vec_q4_k.comp | 8 +- .../vulkan-shaders/mul_mat_vec_q5_k.comp | 8 +- .../vulkan-shaders/mul_mat_vec_q6_k.comp | 2 +- .../ggml-vulkan/vulkan-shaders/mul_mat_vecq.comp | 140 + ggml/src/ggml-vulkan/vulkan-shaders/mul_mm.comp | 722 +- .../src/ggml-vulkan/vulkan-shaders/mul_mm_cm2.comp | 146 +- .../ggml-vulkan/vulkan-shaders/mul_mm_funcs.glsl | 556 + .../vulkan-shaders/mul_mm_id_funcs.glsl | 70 + ggml/src/ggml-vulkan/vulkan-shaders/mul_mmq.comp | 289 +- .../ggml-vulkan/vulkan-shaders/mul_mmq_funcs.comp | 105 - .../ggml-vulkan/vulkan-shaders/mul_mmq_funcs.glsl | 577 + .../vulkan-shaders/mul_mmq_shmem_types.glsl | 78 + ggml/src/ggml-vulkan/vulkan-shaders/multi_add.comp | 110 +- ggml/src/ggml-vulkan/vulkan-shaders/norm.comp | 4 +- .../ggml-vulkan/vulkan-shaders/opt_step_adamw.comp | 4 +- .../ggml-vulkan/vulkan-shaders/opt_step_sgd.comp | 2 +- ggml/src/ggml-vulkan/vulkan-shaders/pad.comp | 29 +- ggml/src/ggml-vulkan/vulkan-shaders/pool2d.comp | 2 +- .../ggml-vulkan/vulkan-shaders/quantize_q8_1.comp | 58 +- ggml/src/ggml-vulkan/vulkan-shaders/reglu.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/relu.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/repeat.comp | 4 +- .../ggml-vulkan/vulkan-shaders/repeat_back.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/rms_norm.comp | 4 +- .../ggml-vulkan/vulkan-shaders/rms_norm_back.comp | 4 +- .../vulkan-shaders/rms_norm_partials.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/roll.comp | 4 +- .../{rope_head.comp => rope_head.glsl} | 7 +- .../src/ggml-vulkan/vulkan-shaders/rope_multi.comp | 36 +- ggml/src/ggml-vulkan/vulkan-shaders/rope_neox.comp | 15 +- ggml/src/ggml-vulkan/vulkan-shaders/rope_norm.comp | 15 +- .../ggml-vulkan/vulkan-shaders/rope_vision.comp | 2 +- .../vulkan-shaders/{rte.comp => rte.glsl} | 0 ggml/src/ggml-vulkan/vulkan-shaders/scale.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/sigmoid.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/silu.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/silu_back.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/sin.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/soft_max.comp | 2 +- .../ggml-vulkan/vulkan-shaders/soft_max_back.comp | 8 +- ggml/src/ggml-vulkan/vulkan-shaders/sqrt.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/square.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/ssm_conv.comp | 44 + ggml/src/ggml-vulkan/vulkan-shaders/ssm_scan.comp | 140 + ggml/src/ggml-vulkan/vulkan-shaders/sub.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/sum_rows.comp | 2 +- ggml/src/ggml-vulkan/vulkan-shaders/swiglu.comp | 4 +- .../src/ggml-vulkan/vulkan-shaders/swiglu_oai.comp | 4 +- ggml/src/ggml-vulkan/vulkan-shaders/tanh.comp | 4 +- .../vulkan-shaders/timestep_embedding.comp | 9 +- ggml/src/ggml-vulkan/vulkan-shaders/topk_moe.comp | 171 + .../vulkan-shaders/{types.comp => types.glsl} | 108 +- ggml/src/ggml-vulkan/vulkan-shaders/upscale.comp | 19 +- .../vulkan-shaders/{utils.comp => utils.glsl} | 0 .../vulkan-shaders/vulkan-shaders-gen.cpp | 574 +- ggml/src/ggml-webgpu/CMakeLists.txt | 8 + ggml/src/ggml-webgpu/ggml-webgpu.cpp | 1691 +- ggml/src/ggml-webgpu/wgsl-shaders/bin_op.tmpl.wgsl | 188 + ggml/src/ggml-webgpu/wgsl-shaders/binary_head.tmpl | 45 + .../src/ggml-webgpu/wgsl-shaders/common_decls.tmpl | 930 + ggml/src/ggml-webgpu/wgsl-shaders/cpy.tmpl.wgsl | 101 + ggml/src/ggml-webgpu/wgsl-shaders/cpy.wgsl | 60 - ggml/src/ggml-webgpu/wgsl-shaders/embed_wgsl.py | 64 +- .../ggml-webgpu/wgsl-shaders/get_rows.tmpl.wgsl | 874 + ggml/src/ggml-webgpu/wgsl-shaders/glu.tmpl.wgsl | 323 + .../src/ggml-webgpu/wgsl-shaders/mul_mat.tmpl.wgsl | 927 +- ggml/src/ggml-webgpu/wgsl-shaders/rms_norm.wgsl | 123 + ggml/src/ggml-webgpu/wgsl-shaders/rope.tmpl.wgsl | 295 + ggml/src/ggml-webgpu/wgsl-shaders/scale.tmpl.wgsl | 90 + ggml/src/ggml-webgpu/wgsl-shaders/set_rows.wgsl | 1 - .../ggml-webgpu/wgsl-shaders/soft_max.tmpl.wgsl | 345 + ggml/src/ggml-zdnn/.gitignore | 1 + ggml/src/ggml-zdnn/common.hpp | 59 + ggml/src/ggml-zdnn/ggml-zdnn-impl.h | 97 - ggml/src/ggml-zdnn/ggml-zdnn.cpp | 410 +- ggml/src/ggml-zdnn/mmf.cpp | 80 + ggml/src/ggml-zdnn/mmf.hpp | 12 + ggml/src/ggml-zdnn/utils.cpp | 79 + ggml/src/ggml-zdnn/utils.hpp | 19 + ggml/src/ggml.c | 308 +- ggml/src/gguf.cpp | 133 +- gguf-py/examples/cal_test.gguf | Bin 0 -> 768 bytes gguf-py/examples/tokenizer.json | 410563 ++++++++++++++++++ gguf-py/examples/writer_cal_test.py | 84 + gguf-py/gguf/constants.py | 359 +- gguf-py/gguf/gguf_writer.py | 64 + gguf-py/gguf/scripts/gguf_convert_endian.py | 136 +- gguf-py/gguf/tensor_mapping.py | 184 +- gguf-py/gguf/vocab.py | 8 +- include/llama-cpp.h | 5 + include/llama.h | 97 +- media/llama1-icon-transparent.png | Bin 0 -> 14270 bytes media/llama1-icon-transparent.svg | 77 + media/llama1-icon.png | Bin 0 -> 16045 bytes media/llama1-icon.svg | 87 + models/templates/Apertus-8B-Instruct.jinja | 327 + models/templates/ByteDance-Seed-OSS.jinja | 171 + models/templates/NVIDIA-Nemotron-Nano-v2.jinja | 162 + models/templates/README.md | 1 + models/templates/deepseek-ai-DeepSeek-V3.1.jinja | 3 + models/templates/llama-cpp-lfm2.jinja | 37 + prompts/LLM-questions.txt | 49 - prompts/alpaca.txt | 1 - prompts/assistant.txt | 31 - prompts/chat-with-baichuan.txt | 4 - prompts/chat-with-bob.txt | 7 - prompts/chat-with-qwen.txt | 1 - prompts/chat-with-vicuna-v0.txt | 7 - prompts/chat-with-vicuna-v1.txt | 7 - prompts/chat.txt | 28 - prompts/dan-modified.txt | 1 - prompts/dan.txt | 1 - prompts/mnemonics.txt | 93 - prompts/parallel-questions.txt | 43 - prompts/reason-act.txt | 18 - requirements/requirements-all.txt | 2 + requirements/requirements-convert_hf_to_gguf.txt | 6 +- requirements/requirements-convert_legacy_llama.txt | 4 +- requirements/requirements-tool_bench.txt | 2 +- scripts/bench-models.sh | 74 + scripts/ci-run.sh | 50 - scripts/compare-commits.sh | 6 + scripts/compare-llama-bench.py | 2 +- scripts/jinja/jinja-tester.py | 504 + scripts/jinja/requirements.txt | 2 + scripts/qnt-all.sh | 30 - scripts/run-all-perf.sh | 34 - scripts/run-all-ppl.sh | 30 - scripts/server-bench.py | 6 - scripts/snapdragon/adb/llama-cli.farf | 1 + scripts/snapdragon/adb/run-bench.sh | 40 + scripts/snapdragon/adb/run-cli.sh | 53 + scripts/snapdragon/adb/run-tool.sh | 51 + scripts/snapdragon/qdc/readme.md | 1 + scripts/snapdragon/qdc/requirements.txt | 25 + scripts/snapdragon/qdc/tests/test_bench.py | 63 + scripts/sync-ggml.last | 2 +- scripts/tool_bench.py | 6 +- src/CMakeLists.txt | 144 +- src/llama-adapter.cpp | 105 +- src/llama-adapter.h | 6 + src/llama-arch.cpp | 349 +- src/llama-arch.h | 52 + src/llama-batch.cpp | 94 +- src/llama-batch.h | 15 +- src/llama-calrt.cpp | 1215 + src/llama-calrt.h | 122 + src/llama-chat.cpp | 56 +- src/llama-chat.h | 3 + src/llama-context.cpp | 570 +- src/llama-context.h | 29 +- src/llama-cparams.h | 3 +- src/llama-graph.cpp | 287 +- src/llama-graph.h | 32 +- src/llama-hparams.cpp | 45 +- src/llama-hparams.h | 53 +- src/llama-impl.h | 2 + src/llama-kv-cache-blocked.cpp | 814 + src/llama-kv-cache-blocked.h | 248 + src/llama-kv-cache-calrt-adapter.cpp | 118 + src/llama-kv-cache-calrt-adapter.h | 51 + src/llama-kv-cache-iswa.cpp | 12 +- src/llama-kv-cache-iswa.h | 2 + src/llama-kv-cache-unified-iswa.cpp | 279 + src/llama-kv-cache-unified-iswa.h | 128 + src/llama-kv-cache.cpp | 279 +- src/llama-kv-cache.h | 33 +- src/llama-kv-cells.h | 46 +- src/llama-memory-hybrid.cpp | 28 +- src/llama-memory-hybrid.h | 2 + src/llama-memory-recurrent.cpp | 50 +- src/llama-memory-recurrent.h | 7 +- src/llama-memory.h | 3 + src/llama-model-loader.cpp | 3 + src/llama-model.cpp | 13350 +- src/llama-model.h | 43 +- src/llama-quant.cpp | 20 +- src/llama-sampling.cpp | 358 +- src/llama-vocab.cpp | 30 +- src/llama-vocab.h | 81 +- src/llama.cpp | 83 +- src/models/apertus.cpp | 125 + src/models/arcee.cpp | 135 + src/models/arctic.cpp | 138 + src/models/arwkv7.cpp | 86 + src/models/baichuan.cpp | 122 + src/models/bailingmoe.cpp | 144 + src/models/bailingmoe2.cpp | 135 + src/models/bert.cpp | 176 + src/models/bitnet.cpp | 160 + src/models/bloom.cpp | 101 + src/models/chameleon.cpp | 178 + src/models/chatglm.cpp | 132 + src/models/codeshell.cpp | 111 + src/models/cogvlm.cpp | 100 + src/models/cohere2-iswa.cpp | 131 + src/models/command-r.cpp | 122 + src/models/dbrx.cpp | 123 + src/models/deci.cpp | 135 + src/models/deepseek.cpp | 144 + src/models/deepseek2.cpp | 236 + src/models/dots1.cpp | 134 + src/models/dream.cpp | 105 + src/models/ernie4-5-moe.cpp | 150 + src/models/ernie4-5.cpp | 111 + src/models/exaone.cpp | 114 + src/models/exaone4.cpp | 123 + src/models/falcon-h1.cpp | 113 + src/models/falcon.cpp | 120 + src/models/gemma-embedding.cpp | 120 + src/models/gemma.cpp | 112 + src/models/gemma2-iswa.cpp | 125 + src/models/gemma3-iswa.cpp | 131 + src/models/gemma3n-iswa.cpp | 377 + src/models/glm4-moe.cpp | 153 + src/models/glm4.cpp | 127 + src/models/gpt2.cpp | 105 + src/models/gptneox.cpp | 144 + src/models/granite-hybrid.cpp | 196 + src/models/granite.cpp | 211 + src/models/graph-context-mamba.cpp | 283 + src/models/grok.cpp | 160 + src/models/grovemoe.cpp | 141 + src/models/hunyuan-dense.cpp | 132 + src/models/hunyuan-moe.cpp | 154 + src/models/internlm2.cpp | 121 + src/models/jais.cpp | 86 + src/models/jamba.cpp | 107 + src/models/lfm2.cpp | 173 + src/models/llada-moe.cpp | 123 + src/models/llada.cpp | 101 + src/models/llama-iswa.cpp | 174 + src/models/llama.cpp | 156 + src/models/mamba.cpp | 55 + src/models/minicpm3.cpp | 200 + src/models/minimax-m2.cpp | 124 + src/models/models.h | 477 + src/models/mpt.cpp | 126 + src/models/nemotron-h.cpp | 121 + src/models/nemotron.cpp | 122 + src/models/neo-bert.cpp | 104 + src/models/olmo.cpp | 121 + src/models/olmo2.cpp | 151 + src/models/olmoe.cpp | 124 + src/models/openai-moe-iswa.cpp | 123 + src/models/openelm.cpp | 124 + src/models/orion.cpp | 123 + src/models/phi2.cpp | 121 + src/models/phi3.cpp | 153 + src/models/plamo.cpp | 110 + src/models/plamo2.cpp | 316 + src/models/plm.cpp | 168 + src/models/qwen.cpp | 108 + src/models/qwen2.cpp | 118 + src/models/qwen2moe.cpp | 151 + src/models/qwen2vl.cpp | 117 + src/models/qwen3.cpp | 117 + src/models/qwen3moe.cpp | 124 + src/models/qwen3vl-moe.cpp | 150 + src/models/qwen3vl.cpp | 144 + src/models/refact.cpp | 94 + src/models/rwkv6-base.cpp | 162 + src/models/rwkv6.cpp | 94 + src/models/rwkv6qwen2.cpp | 86 + src/models/rwkv7-base.cpp | 135 + src/models/rwkv7.cpp | 90 + src/models/seed-oss.cpp | 124 + src/models/smallthinker.cpp | 120 + src/models/smollm3.cpp | 128 + src/models/stablelm.cpp | 146 + src/models/starcoder.cpp | 100 + src/models/starcoder2.cpp | 121 + src/models/t5-dec.cpp | 166 + src/models/t5-enc.cpp | 96 + src/models/wavtokenizer-dec.cpp | 149 + src/models/xverse.cpp | 108 + src/unicode.h | 43 + tests/.gitignore | 1 + tests/CMakeLists.txt | 9 +- tests/test-alloc.cpp | 608 + tests/test-arg-parser.cpp | 69 +- tests/test-backend-ops.cpp | 1531 +- tests/test-barrier.cpp | 4 +- tests/test-chat-parser.cpp | 279 +- tests/test-chat-template.cpp | 2 +- tests/test-chat.cpp | 667 + tests/test-grammar-integration.cpp | 24 + tests/test-json-partial.cpp | 52 +- tests/test-json-schema-to-grammar.cpp | 101 +- tests/test-opt.cpp | 11 +- tests/test-quantize-perf.cpp | 11 +- tests/test-rope.cpp | 4 +- tests/test-sampling.cpp | 62 +- tests/test-thread-safety.cpp | 19 +- tests/test-tokenizer-random.py | 4 +- tests/test-tokenizers-repo.sh | 7 + tools/batched-bench/CMakeLists.txt | 5 +- tools/batched-bench/batched-bench.cpp | 43 +- tools/cvector-generator/CMakeLists.txt | 5 +- tools/export-lora/CMakeLists.txt | 5 +- tools/gguf-split/CMakeLists.txt | 5 +- tools/gguf-split/tests.sh | 18 +- tools/imatrix/CMakeLists.txt | 10 +- tools/llama-bench/CMakeLists.txt | 6 +- tools/llama-bench/README.md | 10 +- tools/llama-bench/llama-bench.cpp | 565 +- tools/main/CMakeLists.txt | 5 +- tools/main/README.md | 2 +- tools/main/main.cpp | 112 +- tools/mtmd/CMakeLists.txt | 4 +- tools/mtmd/clip-impl.h | 26 + tools/mtmd/clip.cpp | 2001 +- tools/mtmd/clip.h | 18 + .../minicpmv-convert-image-encoder-to-gguf.py | 11 +- tools/mtmd/mtmd-cli.cpp | 214 +- tools/mtmd/mtmd-helper.cpp | 174 + tools/mtmd/mtmd-helper.h | 34 + tools/mtmd/mtmd.cpp | 194 +- tools/mtmd/mtmd.h | 13 +- tools/mtmd/requirements.txt | 4 +- tools/mtmd/tests.sh | 9 +- tools/perplexity/CMakeLists.txt | 5 +- tools/perplexity/perplexity.cpp | 5 +- tools/quantize/CMakeLists.txt | 5 +- tools/quantize/tests.sh | 12 +- tools/rpc/README.md | 63 +- tools/rpc/rpc-server.cpp | 134 +- tools/run/CMakeLists.txt | 10 +- tools/run/run.cpp | 190 +- tools/server/CMakeLists.txt | 21 +- tools/server/README.md | 192 +- tools/server/public/index.html.gz | Bin 1914087 -> 1127240 bytes .../public_legacy/json-schema-to-grammar.mjs | 26 +- tools/server/server.cpp | 2122 +- tools/server/server.h | 2 + tools/server/server_main.cpp | 5 + tools/server/tests/README.md | 30 + tools/server/tests/requirements.txt | 2 +- tools/server/tests/unit/test_basic.py | 21 +- tools/server/tests/unit/test_chat_completion.py | 104 +- tools/server/tests/unit/test_completion.py | 40 +- tools/server/tests/unit/test_ctx_shift.py | 26 +- tools/server/tests/unit/test_infill.py | 4 +- tools/server/tests/unit/test_rerank.py | 42 + tools/server/tests/unit/test_speculative.py | 1 + tools/server/tests/unit/test_template.py | 9 +- tools/server/tests/unit/test_tool_call.py | 20 +- tools/server/tests/unit/test_vision_api.py | 77 +- tools/server/tests/utils.py | 122 +- tools/server/utils.hpp | 408 +- tools/server/webui/.gitignore | 45 +- tools/server/webui/.npmrc | 1 + tools/server/webui/.prettierignore | 17 +- tools/server/webui/.prettierrc | 16 + .../webui/.storybook/ModeWatcherDecorator.svelte | 36 + .../.storybook/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 | 16059 +- tools/server/webui/package.json | 157 +- tools/server/webui/playwright.config.ts | 11 + tools/server/webui/postcss.config.js | 5 - tools/server/webui/public/demo-conversation.json | 33 - tools/server/webui/scripts/dev.sh | 55 + tools/server/webui/scripts/install-git-hooks.sh | 202 + 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 | 138 + tools/server/webui/src/app.d.ts | 83 + tools/server/webui/src/app.html | 12 + .../webui/src/components/CanvasPyInterpreter.tsx | 195 - .../src/components/ChatInputExtraContextItem.tsx | 135 - tools/server/webui/src/components/ChatMessage.tsx | 320 - tools/server/webui/src/components/ChatScreen.tsx | 459 - tools/server/webui/src/components/Header.tsx | 92 - .../webui/src/components/MarkdownDisplay.tsx | 317 - .../server/webui/src/components/ModalProvider.tsx | 151 - .../server/webui/src/components/SettingDialog.tsx | 553 - tools/server/webui/src/components/Sidebar.tsx | 369 - .../webui/src/components/useChatExtraContext.tsx | 371 - .../server/webui/src/components/useChatScroll.tsx | 34 - .../server/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 | 314 + .../ChatAttachments/ChatAttachmentsList.svelte | 196 + .../components/app/chat/ChatForm/ChatForm.svelte | 260 + .../ChatForm/ChatFormActionFileAttachments.svelte | 121 + .../app/chat/ChatForm/ChatFormActionRecord.svelte | 49 + .../app/chat/ChatForm/ChatFormActions.svelte | 63 + .../ChatForm/ChatFormFileInputInvisible.svelte | 42 + .../app/chat/ChatForm/ChatFormHelperText.svelte | 17 + .../app/chat/ChatForm/ChatFormModelSelector.svelte | 358 + .../app/chat/ChatForm/ChatFormTextarea.svelte | 59 + .../app/chat/ChatMessages/ChatMessage.svelte | 175 + .../chat/ChatMessages/ChatMessageActions.svelte | 91 + .../chat/ChatMessages/ChatMessageAssistant.svelte | 290 + .../ChatMessageBranchingControls.svelte | 84 + .../ChatMessages/ChatMessageThinkingBlock.svelte | 68 + .../app/chat/ChatMessages/ChatMessageUser.svelte | 162 + .../app/chat/ChatMessages/ChatMessages.svelte | 116 + .../components/app/chat/ChatProcessingInfo.svelte | 138 + .../app/chat/ChatScreen/ChatScreen.svelte | 482 + .../chat/ChatScreen/ChatScreenDragOverlay.svelte | 17 + .../app/chat/ChatScreen/ChatScreenHeader.svelte | 23 + .../app/chat/ChatScreen/ChatScreenWarning.svelte | 38 + .../chat/ChatSettings/ChatSettingsDialog.svelte | 507 + .../chat/ChatSettings/ChatSettingsFields.svelte | 236 + .../chat/ChatSettings/ChatSettingsFooter.svelte | 59 + .../ConversationSelectionDialog.svelte | 249 + .../app/chat/ChatSettings/ImportExportTab.svelte | 255 + .../ChatSettings/ParameterSourceIndicator.svelte | 18 + .../app/chat/ChatSidebar/ChatSidebar.svelte | 207 + .../app/chat/ChatSidebar/ChatSidebarActions.svelte | 81 + .../ChatSidebar/ChatSidebarConversationItem.svelte | 150 + .../app/chat/ChatSidebar/ChatSidebarSearch.svelte | 33 + .../handle-mobile-sidebar-item-click.ts | 9 + .../components/app/dialogs/ChatErrorDialog.svelte | 60 + .../app/dialogs/ConfirmationDialog.svelte | 72 + .../dialogs/ConversationTitleUpdateDialog.svelte | 46 + .../app/dialogs/EmptyFileAlertDialog.svelte | 61 + tools/server/webui/src/lib/components/app/index.ts | 53 + .../lib/components/app/misc/ActionButton.svelte | 48 + .../lib/components/app/misc/ActionDropdown.svelte | 87 + .../components/app/misc/CodePreviewDialog.svelte | 93 + .../app/misc/KeyboardShortcutInfo.svelte | 31 + .../lib/components/app/misc/MarkdownContent.svelte | 769 + .../components/app/server/ServerErrorSplash.svelte | 281 + .../lib/components/app/server/ServerInfo.svelte | 43 + .../app/server/ServerLoadingSplash.svelte | 33 + .../lib/components/app/server/ServerStatus.svelte | 64 + .../ui/alert-dialog/alert-dialog-action.svelte | 18 + .../ui/alert-dialog/alert-dialog-cancel.svelte | 18 + .../ui/alert-dialog/alert-dialog-content.svelte | 35 + .../alert-dialog/alert-dialog-description.svelte | 17 + .../ui/alert-dialog/alert-dialog-footer.svelte | 23 + .../ui/alert-dialog/alert-dialog-header.svelte | 20 + .../ui/alert-dialog/alert-dialog-overlay.svelte | 20 + .../ui/alert-dialog/alert-dialog-title.svelte | 17 + .../ui/alert-dialog/alert-dialog-trigger.svelte | 7 + .../src/lib/components/ui/alert-dialog/index.ts | 39 + .../webui/src/lib/components/ui/badge/badge.svelte | 49 + .../webui/src/lib/components/ui/badge/index.ts | 2 + .../src/lib/components/ui/button/button.svelte | 87 + .../webui/src/lib/components/ui/button/index.ts | 17 + .../src/lib/components/ui/card/card-action.svelte | 20 + .../src/lib/components/ui/card/card-content.svelte | 15 + .../lib/components/ui/card/card-description.svelte | 20 + .../src/lib/components/ui/card/card-footer.svelte | 20 + .../src/lib/components/ui/card/card-header.svelte | 23 + .../src/lib/components/ui/card/card-title.svelte | 20 + .../webui/src/lib/components/ui/card/card.svelte | 23 + .../webui/src/lib/components/ui/card/index.ts | 25 + .../src/lib/components/ui/checkbox/checkbox.svelte | 36 + .../webui/src/lib/components/ui/checkbox/index.ts | 6 + .../ui/collapsible/collapsible-content.svelte | 7 + .../ui/collapsible/collapsible-trigger.svelte | 7 + .../components/ui/collapsible/collapsible.svelte | 11 + .../src/lib/components/ui/collapsible/index.ts | 13 + .../lib/components/ui/dialog/dialog-close.svelte | 7 + .../lib/components/ui/dialog/dialog-content.svelte | 43 + .../components/ui/dialog/dialog-description.svelte | 17 + .../lib/components/ui/dialog/dialog-footer.svelte | 20 + .../lib/components/ui/dialog/dialog-header.svelte | 20 + .../lib/components/ui/dialog/dialog-overlay.svelte | 20 + .../lib/components/ui/dialog/dialog-title.svelte | 17 + .../lib/components/ui/dialog/dialog-trigger.svelte | 7 + .../webui/src/lib/components/ui/dialog/index.ts | 37 + .../dropdown-menu-checkbox-item.svelte | 41 + .../ui/dropdown-menu/dropdown-menu-content.svelte | 27 + .../dropdown-menu-group-heading.svelte | 22 + .../ui/dropdown-menu/dropdown-menu-group.svelte | 7 + .../ui/dropdown-menu/dropdown-menu-item.svelte | 27 + .../ui/dropdown-menu/dropdown-menu-label.svelte | 24 + .../dropdown-menu/dropdown-menu-radio-group.svelte | 16 + .../dropdown-menu/dropdown-menu-radio-item.svelte | 31 + .../dropdown-menu/dropdown-menu-separator.svelte | 17 + .../ui/dropdown-menu/dropdown-menu-shortcut.svelte | 20 + .../dropdown-menu/dropdown-menu-sub-content.svelte | 20 + .../dropdown-menu/dropdown-menu-sub-trigger.svelte | 29 + .../ui/dropdown-menu/dropdown-menu-trigger.svelte | 7 + .../src/lib/components/ui/dropdown-menu/index.ts | 49 + .../webui/src/lib/components/ui/input/index.ts | 7 + .../webui/src/lib/components/ui/input/input.svelte | 51 + .../webui/src/lib/components/ui/label/index.ts | 7 + .../webui/src/lib/components/ui/label/label.svelte | 20 + .../src/lib/components/ui/scroll-area/index.ts | 10 + .../ui/scroll-area/scroll-area-scrollbar.svelte | 31 + .../components/ui/scroll-area/scroll-area.svelte | 40 + .../webui/src/lib/components/ui/select/index.ts | 37 + .../lib/components/ui/select/select-content.svelte | 111 + .../ui/select/select-group-heading.svelte | 21 + .../lib/components/ui/select/select-group.svelte | 7 + .../lib/components/ui/select/select-item.svelte | 38 + .../lib/components/ui/select/select-label.svelte | 20 + .../ui/select/select-scroll-down-button.svelte | 20 + .../ui/select/select-scroll-up-button.svelte | 20 + .../components/ui/select/select-separator.svelte | 18 + .../lib/components/ui/select/select-trigger.svelte | 40 + .../webui/src/lib/components/ui/separator/index.ts | 7 + .../lib/components/ui/separator/separator.svelte | 20 + .../webui/src/lib/components/ui/sheet/index.ts | 36 + .../src/lib/components/ui/sheet/sheet-close.svelte | 7 + .../lib/components/ui/sheet/sheet-content.svelte | 60 + .../components/ui/sheet/sheet-description.svelte | 17 + .../lib/components/ui/sheet/sheet-footer.svelte | 20 + .../lib/components/ui/sheet/sheet-header.svelte | 20 + .../lib/components/ui/sheet/sheet-overlay.svelte | 20 + .../src/lib/components/ui/sheet/sheet-title.svelte | 17 + .../lib/components/ui/sheet/sheet-trigger.svelte | 7 + .../src/lib/components/ui/sidebar/constants.ts | 6 + .../lib/components/ui/sidebar/context.svelte.ts | 79 + .../webui/src/lib/components/ui/sidebar/index.ts | 75 + .../components/ui/sidebar/sidebar-content.svelte | 24 + .../components/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 + .../lib/components/ui/sidebar/sidebar-group.svelte | 21 + .../components/ui/sidebar/sidebar-header.svelte | 21 + .../lib/components/ui/sidebar/sidebar-input.svelte | 21 + .../lib/components/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 + .../components/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 + .../components/ui/sidebar/sidebar-menu-sub.svelte | 25 + .../lib/components/ui/sidebar/sidebar-menu.svelte | 21 + .../components/ui/sidebar/sidebar-provider.svelte | 53 + .../lib/components/ui/sidebar/sidebar-rail.svelte | 36 + .../components/ui/sidebar/sidebar-separator.svelte | 19 + .../components/ui/sidebar/sidebar-trigger.svelte | 35 + .../src/lib/components/ui/sidebar/sidebar.svelte | 101 + .../webui/src/lib/components/ui/skeleton/index.ts | 7 + .../src/lib/components/ui/skeleton/skeleton.svelte | 17 + .../webui/src/lib/components/ui/textarea/index.ts | 7 + .../src/lib/components/ui/textarea/textarea.svelte | 22 + .../webui/src/lib/components/ui/tooltip/index.ts | 21 + .../components/ui/tooltip/tooltip-content.svelte | 47 + .../components/ui/tooltip/tooltip-trigger.svelte | 7 + tools/server/webui/src/lib/components/ui/utils.ts | 13 + .../server/webui/src/lib/constants/auto-scroll.ts | 3 + .../webui/src/lib/constants/binary-detection.ts | 14 + tools/server/webui/src/lib/constants/debounce.ts | 1 + .../webui/src/lib/constants/input-classes.ts | 6 + .../webui/src/lib/constants/latex-protection.ts | 35 + .../server/webui/src/lib/constants/literal-html.ts | 15 + .../webui/src/lib/constants/localstorage-keys.ts | 2 + .../webui/src/lib/constants/max-bundle-size.ts | 1 + tools/server/webui/src/lib/constants/precision.ts | 2 + .../webui/src/lib/constants/processing-info.ts | 1 + .../webui/src/lib/constants/settings-config.ts | 97 + .../src/lib/constants/supported-file-types.ts | 192 + .../webui/src/lib/constants/tooltip-config.ts | 1 + tools/server/webui/src/lib/constants/viewport.ts | 1 + tools/server/webui/src/lib/enums/files.ts | 187 + .../server/webui/src/lib/hooks/is-mobile.svelte.ts | 8 + .../src/lib/hooks/use-processing-state.svelte.ts | 173 + .../server/webui/src/lib/markdown/literal-html.ts | 121 + tools/server/webui/src/lib/services/chat.ts | 726 + tools/server/webui/src/lib/services/index.ts | 2 + tools/server/webui/src/lib/services/models.ts | 22 + .../webui/src/lib/services/parameter-sync.spec.ts | 135 + .../webui/src/lib/services/parameter-sync.ts | 202 + tools/server/webui/src/lib/services/slots.ts | 322 + tools/server/webui/src/lib/stores/chat.svelte.ts | 1733 + tools/server/webui/src/lib/stores/database.ts | 384 + tools/server/webui/src/lib/stores/models.svelte.ts | 187 + .../webui/src/lib/stores/persisted.svelte.ts | 50 + tools/server/webui/src/lib/stores/server.svelte.ts | 331 + .../server/webui/src/lib/stores/settings.svelte.ts | 396 + tools/server/webui/src/lib/types/api.d.ts | 297 + tools/server/webui/src/lib/types/chat.d.ts | 34 + tools/server/webui/src/lib/types/database.d.ts | 82 + tools/server/webui/src/lib/types/models.d.ts | 11 + tools/server/webui/src/lib/types/settings.d.ts | 52 + .../webui/src/lib/utils/api-key-validation.ts | 44 + .../server/webui/src/lib/utils/audio-recording.ts | 226 + .../webui/src/lib/utils/autoresize-textarea.ts | 10 + tools/server/webui/src/lib/utils/branching.ts | 283 + tools/server/webui/src/lib/utils/config-helpers.ts | 53 + .../webui/src/lib/utils/conversation-utils.ts | 30 + .../webui/src/lib/utils/convert-files-to-extra.ts | 188 + tools/server/webui/src/lib/utils/copy.ts | 71 + tools/server/webui/src/lib/utils/file-preview.ts | 32 + tools/server/webui/src/lib/utils/file-type.ts | 81 + .../server/webui/src/lib/utils/is-ime-composing.ts | 5 + .../webui/src/lib/utils/latex-protection.test.ts | 355 + .../server/webui/src/lib/utils/latex-protection.ts | 267 + .../src/lib/utils/modality-file-validation.ts | 184 + .../server/webui/src/lib/utils/model-names.test.ts | 44 + tools/server/webui/src/lib/utils/model-names.ts | 39 + tools/server/webui/src/lib/utils/pdf-processing.ts | 150 + tools/server/webui/src/lib/utils/portal-to-body.ts | 20 + tools/server/webui/src/lib/utils/precision.ts | 25 + .../webui/src/lib/utils/process-uploaded-files.ts | 130 + tools/server/webui/src/lib/utils/svg-to-png.ts | 71 + tools/server/webui/src/lib/utils/text-files.ts | 97 + tools/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 | 180 + tools/server/webui/src/routes/+page.svelte | 27 + tools/server/webui/src/routes/+page.ts | 6 + .../server/webui/src/routes/chat/[id]/+page.svelte | 56 + tools/server/webui/src/routes/chat/[id]/+page.ts | 6 + tools/server/webui/src/routes/page.svelte.test.ts | 11 + .../webui/src/stories/ChatForm.stories.svelte | 182 + .../webui/src/stories/ChatMessage.stories.svelte | 207 + .../src/stories/ChatSettingsDialog.stories.svelte | 26 + .../webui/src/stories/ChatSidebar.stories.svelte | 97 + tools/server/webui/src/stories/Introduction.mdx | 44 + .../src/stories/MarkdownContent.stories.svelte | 131 + .../webui/src/stories/fixtures/ai-tutorial.ts | 164 + .../server/webui/src/stories/fixtures/api-docs.ts | 160 + .../server/webui/src/stories/fixtures/assets/1.jpg | Bin 0 -> 44891 bytes .../fixtures/assets/beautiful-flowers-lotus.webp | Bin 0 -> 817630 bytes .../webui/src/stories/fixtures/assets/example.pdf | Bin 0 -> 351048 bytes .../webui/src/stories/fixtures/assets/hf-logo.svg | 8 + .../server/webui/src/stories/fixtures/blog-post.ts | 125 + .../webui/src/stories/fixtures/data-analysis.ts | 124 + tools/server/webui/src/stories/fixtures/empty.ts | 2 + .../webui/src/stories/fixtures/math-formulas.ts | 221 + tools/server/webui/src/stories/fixtures/readme.ts | 136 + .../webui/src/stories/fixtures/storybook-mocks.ts | 50 + tools/server/webui/src/styles/katex-custom.scss | 13 + 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 | 34 + 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 | 222 +- tools/server/webui/vitest-setup-client.ts | 2 + tools/tokenize/CMakeLists.txt | 4 +- tools/tts/CMakeLists.txt | 5 +- tools/tts/convert_pt_to_hf.py | 2 +- tools/tts/tts.cpp | 2 +- vendor/cpp-httplib/httplib.h | 4099 +- vendor/miniaudio/miniaudio.h | 6079 +- vendor/minja/chat-template.hpp | 11 +- vendor/minja/minja.hpp | 123 +- 1250 files changed, 569337 insertions(+), 63834 deletions(-)