gitextract_xcrsk4vf/ ├── .clang-format ├── .clang-tidy ├── .devops/ │ ├── cann.Dockerfile │ ├── cpu.Dockerfile │ ├── cuda-new.Dockerfile │ ├── cuda.Dockerfile │ ├── intel.Dockerfile │ ├── llama-cli-cann.Dockerfile │ ├── llama-cpp-cuda.srpm.spec │ ├── llama-cpp.srpm.spec │ ├── musa.Dockerfile │ ├── nix/ │ │ ├── apps.nix │ │ ├── devshells.nix │ │ ├── docker.nix │ │ ├── jetson-support.nix │ │ ├── nixpkgs-instances.nix │ │ ├── package-gguf-py.nix │ │ ├── package.nix │ │ ├── python-scripts.nix │ │ ├── scope.nix │ │ └── sif.nix │ ├── openvino.Dockerfile │ ├── rocm.Dockerfile │ ├── s390x.Dockerfile │ ├── tools.sh │ └── vulkan.Dockerfile ├── .dockerignore ├── .ecrc ├── .editorconfig ├── .flake8 ├── .gemini/ │ └── settings.json ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── 010-bug-compilation.yml │ │ ├── 011-bug-results.yml │ │ ├── 019-bug-misc.yml │ │ ├── 020-enhancement.yml │ │ ├── 030-research.yml │ │ ├── 040-refactor.yml │ │ └── config.yml │ ├── actions/ │ │ ├── get-tag-name/ │ │ │ └── action.yml │ │ ├── install-exe/ │ │ │ └── action.yml │ │ ├── linux-setup-openvino/ │ │ │ └── action.yml │ │ ├── linux-setup-spacemit/ │ │ │ └── action.yml │ │ ├── linux-setup-vulkan/ │ │ │ └── action.yml │ │ ├── unarchive-tar/ │ │ │ └── action.yml │ │ ├── windows-setup-cuda/ │ │ │ └── action.yml │ │ └── windows-setup-rocm/ │ │ └── action.yml │ ├── labeler.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── ai-issues.yml │ ├── bench.yml.disabled │ ├── build-3rd-party.yml │ ├── build-android.yml │ ├── build-apple.yml │ ├── build-cache.yml │ ├── build-cann.yml │ ├── build-cmake-pkg.yml │ ├── build-cross.yml │ ├── build-msys.yml │ ├── build-riscv.yml │ ├── build-sanitize.yml │ ├── build-self-hosted.yml │ ├── build-vulkan.yml │ ├── build.yml │ ├── check-vendor.yml │ ├── close-issue.yml │ ├── copilot-setup-steps.yml │ ├── docker.yml │ ├── editorconfig.yml │ ├── gguf-publish.yml │ ├── hip-quality-check.yml │ ├── labeler.yml │ ├── pre-tokenizer-hashes.yml │ ├── python-check-requirements.yml │ ├── python-lint.yml │ ├── python-type-check.yml │ ├── release.yml │ ├── server-sanitize.yml │ ├── server-self-hosted.yml │ ├── server-webui.yml │ ├── server.yml │ ├── update-ops-docs.yml │ └── winget.yml ├── .gitignore ├── .gitmodules ├── .pre-commit-config.yaml ├── AGENTS.md ├── AUTHORS ├── CLAUDE.md ├── CMakeLists.txt ├── CMakePresets.json ├── CODEOWNERS ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── SECURITY.md ├── benches/ │ ├── dgx-spark/ │ │ ├── aime25_openai__gpt-oss-120b-high_temp1.0_20251109_094547.html │ │ ├── aime25_openai__gpt-oss-120b-high_temp1.0_20251109_094547.json │ │ ├── aime25_openai__gpt-oss-120b-high_temp1.0_20251109_094547_allresults.json │ │ └── dgx-spark.md │ ├── mac-m2-ultra/ │ │ └── mac-m2-ultra.md │ └── nemotron/ │ └── nemotron-dgx-spark.md ├── ci/ │ ├── README-MUSA.md │ ├── README.md │ └── run.sh ├── cmake/ │ ├── arm64-apple-clang.cmake │ ├── arm64-windows-llvm.cmake │ ├── build-info.cmake │ ├── common.cmake │ ├── download-models.cmake │ ├── git-vars.cmake │ ├── license.cmake │ ├── llama-config.cmake.in │ ├── llama.pc.in │ ├── riscv64-spacemit-linux-gnu-gcc.cmake │ └── x64-windows-llvm.cmake ├── common/ │ ├── CMakeLists.txt │ ├── arg.cpp │ ├── arg.h │ ├── base64.hpp │ ├── build-info.cpp.in │ ├── chat-auto-parser-generator.cpp │ ├── chat-auto-parser-helpers.cpp │ ├── chat-auto-parser-helpers.h │ ├── chat-auto-parser.h │ ├── chat-diff-analyzer.cpp │ ├── chat-peg-parser.cpp │ ├── chat-peg-parser.h │ ├── chat.cpp │ ├── chat.h │ ├── common.cpp │ ├── common.h │ ├── console.cpp │ ├── console.h │ ├── debug.cpp │ ├── debug.h │ ├── download.cpp │ ├── download.h │ ├── hf-cache.cpp │ ├── hf-cache.h │ ├── http.h │ ├── jinja/ │ │ ├── README.md │ │ ├── caps.cpp │ │ ├── caps.h │ │ ├── lexer.cpp │ │ ├── lexer.h │ │ ├── parser.cpp │ │ ├── parser.h │ │ ├── runtime.cpp │ │ ├── runtime.h │ │ ├── string.cpp │ │ ├── string.h │ │ ├── utils.h │ │ ├── value.cpp │ │ └── value.h │ ├── json-partial.cpp │ ├── json-partial.h │ ├── json-schema-to-grammar.cpp │ ├── json-schema-to-grammar.h │ ├── llguidance.cpp │ ├── log.cpp │ ├── log.h │ ├── ngram-cache.cpp │ ├── ngram-cache.h │ ├── ngram-map.cpp │ ├── ngram-map.h │ ├── ngram-mod.cpp │ ├── ngram-mod.h │ ├── peg-parser.cpp │ ├── peg-parser.h │ ├── preset.cpp │ ├── preset.h │ ├── reasoning-budget.cpp │ ├── reasoning-budget.h │ ├── regex-partial.cpp │ ├── regex-partial.h │ ├── sampling.cpp │ ├── sampling.h │ ├── speculative.cpp │ ├── speculative.h │ ├── unicode.cpp │ └── unicode.h ├── convert_hf_to_gguf.py ├── convert_hf_to_gguf_update.py ├── convert_llama_ggml_to_gguf.py ├── convert_lora_to_gguf.py ├── docs/ │ ├── android.md │ ├── autoparser.md │ ├── backend/ │ │ ├── BLIS.md │ │ ├── CANN.md │ │ ├── CUDA-FEDORA.md │ │ ├── OPENCL.md │ │ ├── OPENVINO.md │ │ ├── SYCL.md │ │ ├── VirtGPU/ │ │ │ ├── configuration.md │ │ │ └── development.md │ │ ├── VirtGPU.md │ │ ├── ZenDNN.md │ │ ├── snapdragon/ │ │ │ ├── CMakeUserPresets.json │ │ │ ├── README.md │ │ │ ├── developer.md │ │ │ └── windows.md │ │ └── zDNN.md │ ├── build-riscv64-spacemit.md │ ├── build-s390x.md │ ├── build.md │ ├── development/ │ │ ├── HOWTO-add-model.md │ │ ├── debugging-tests.md │ │ ├── llama-star/ │ │ │ └── idea-arch.key │ │ ├── parsing.md │ │ └── token_generation_performance_tips.md │ ├── docker.md │ ├── function-calling.md │ ├── install.md │ ├── llguidance.md │ ├── multimodal/ │ │ ├── MobileVLM.md │ │ ├── gemma3.md │ │ ├── glmedge.md │ │ ├── granitevision.md │ │ ├── llava.md │ │ ├── minicpmo2.6.md │ │ ├── minicpmo4.0.md │ │ ├── minicpmv2.5.md │ │ ├── minicpmv2.6.md │ │ ├── minicpmv4.0.md │ │ └── minicpmv4.5.md │ ├── multimodal.md │ ├── ops/ │ │ ├── BLAS.csv │ │ ├── CANN.csv │ │ ├── CPU.csv │ │ ├── CUDA.csv │ │ ├── Metal.csv │ │ ├── OpenCL.csv │ │ ├── SYCL.csv │ │ ├── Vulkan.csv │ │ ├── WebGPU.csv │ │ ├── ZenDNN.csv │ │ └── zDNN.csv │ ├── ops.md │ ├── preset.md │ └── speculative.md ├── examples/ │ ├── CMakeLists.txt │ ├── batched/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── batched.cpp │ ├── batched.swift/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── Package.swift │ │ ├── README.md │ │ └── Sources/ │ │ └── main.swift │ ├── convert-llama2c-to-ggml/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── convert-llama2c-to-ggml.cpp │ ├── convert_legacy_llama.py │ ├── debug/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── debug.cpp │ ├── deprecation-warning/ │ │ ├── README.md │ │ └── deprecation-warning.cpp │ ├── diffusion/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── diffusion-cli.cpp │ ├── embedding/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── embedding.cpp │ ├── eval-callback/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── eval-callback.cpp │ ├── gen-docs/ │ │ ├── CMakeLists.txt │ │ └── gen-docs.cpp │ ├── gguf/ │ │ ├── CMakeLists.txt │ │ └── gguf.cpp │ ├── gguf-hash/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── deps/ │ │ │ ├── rotate-bits/ │ │ │ │ ├── package.json │ │ │ │ └── rotate-bits.h │ │ │ ├── sha1/ │ │ │ │ ├── package.json │ │ │ │ ├── sha1.c │ │ │ │ └── sha1.h │ │ │ ├── sha256/ │ │ │ │ ├── package.json │ │ │ │ ├── sha256.c │ │ │ │ └── sha256.h │ │ │ └── xxhash/ │ │ │ ├── clib.json │ │ │ ├── xxhash.c │ │ │ └── xxhash.h │ │ └── gguf-hash.cpp │ ├── idle/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── idle.cpp │ ├── json_schema_pydantic_example.py │ ├── json_schema_to_grammar.py │ ├── llama.android/ │ │ ├── .gitignore │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── example/ │ │ │ │ └── llama/ │ │ │ │ ├── MainActivity.kt │ │ │ │ └── MessageAdapter.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ ├── bg_assistant_message.xml │ │ │ │ ├── bg_user_message.xml │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ ├── ic_launcher_foreground.xml │ │ │ │ ├── outline_folder_open_24.xml │ │ │ │ └── outline_send_24.xml │ │ │ ├── layout/ │ │ │ │ ├── activity_main.xml │ │ │ │ ├── item_message_assistant.xml │ │ │ │ └── item_message_user.xml │ │ │ ├── mipmap-anydpi/ │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── themes.xml │ │ │ └── xml/ │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ ├── libs.versions.toml │ │ │ └── wrapper/ │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── lib/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── consumer-rules.pro │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ ├── androidTest/ │ │ │ │ └── java/ │ │ │ │ └── android/ │ │ │ │ └── llama/ │ │ │ │ └── cpp/ │ │ │ │ └── ExampleInstrumentedTest.kt │ │ │ ├── main/ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── cpp/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ai_chat.cpp │ │ │ │ │ └── logging.h │ │ │ │ └── java/ │ │ │ │ └── com/ │ │ │ │ └── arm/ │ │ │ │ └── aichat/ │ │ │ │ ├── AiChat.kt │ │ │ │ ├── InferenceEngine.kt │ │ │ │ ├── gguf/ │ │ │ │ │ ├── FileType.kt │ │ │ │ │ ├── GgufMetadata.kt │ │ │ │ │ └── GgufMetadataReader.kt │ │ │ │ └── internal/ │ │ │ │ ├── InferenceEngineImpl.kt │ │ │ │ └── gguf/ │ │ │ │ └── GgufMetadataReaderImpl.kt │ │ │ └── test/ │ │ │ └── java/ │ │ │ └── android/ │ │ │ └── llama/ │ │ │ └── cpp/ │ │ │ └── ExampleUnitTest.kt │ │ └── settings.gradle.kts │ ├── llama.swiftui/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── llama.cpp.swift/ │ │ │ └── LibLlama.swift │ │ ├── llama.swiftui/ │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── Models/ │ │ │ │ └── LlamaState.swift │ │ │ ├── Resources/ │ │ │ │ └── models/ │ │ │ │ └── .gitignore │ │ │ ├── UI/ │ │ │ │ ├── ContentView.swift │ │ │ │ ├── DownloadButton.swift │ │ │ │ ├── InputButton.swift │ │ │ │ └── LoadCustomButton.swift │ │ │ └── llama_swiftuiApp.swift │ │ └── llama.swiftui.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ └── contents.xcworkspacedata │ ├── llama.vim │ ├── lookahead/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── lookahead.cpp │ ├── lookup/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── lookup-create.cpp │ │ ├── lookup-merge.cpp │ │ ├── lookup-stats.cpp │ │ └── lookup.cpp │ ├── model-conversion/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── requirements.txt │ │ └── scripts/ │ │ ├── causal/ │ │ │ ├── compare-embeddings-logits.sh │ │ │ ├── compare-logits.py │ │ │ ├── convert-model.sh │ │ │ ├── modelcard.template │ │ │ ├── run-casual-gen-embeddings-org.py │ │ │ ├── run-converted-model-embeddings-logits.sh │ │ │ ├── run-converted-model.sh │ │ │ └── run-org-model.py │ │ ├── embedding/ │ │ │ ├── compare-embeddings-logits.sh │ │ │ ├── convert-model.sh │ │ │ ├── modelcard.template │ │ │ ├── run-converted-model.sh │ │ │ └── run-original-model.py │ │ └── utils/ │ │ ├── __init__.py │ │ ├── check-nmse.py │ │ ├── common.py │ │ ├── compare_tokens.py │ │ ├── create-collection-add-model.sh │ │ ├── curl-embedding-server.sh │ │ ├── hf-add-model-to-collection.py │ │ ├── hf-create-collection.py │ │ ├── hf-create-model.py │ │ ├── hf-upload-gguf-model.py │ │ ├── inspect-converted-model.sh │ │ ├── inspect-org-model.py │ │ ├── perplexity-gen.sh │ │ ├── perplexity-run-simple.sh │ │ ├── perplexity-run.sh │ │ ├── quantize.sh │ │ ├── run-embedding-server.sh │ │ └── semantic_check.py │ ├── parallel/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── parallel.cpp │ ├── passkey/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── passkey.cpp │ ├── pydantic_models_to_grammar.py │ ├── pydantic_models_to_grammar_examples.py │ ├── reason-act.sh │ ├── regex_to_grammar.py │ ├── retrieval/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── retrieval.cpp │ ├── save-load-state/ │ │ ├── CMakeLists.txt │ │ └── save-load-state.cpp │ ├── server-llama2-13B.sh │ ├── server_embd.py │ ├── simple/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── simple.cpp │ ├── simple-chat/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── simple-chat.cpp │ ├── simple-cmake-pkg/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ └── README.md │ ├── speculative/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── speculative.cpp │ ├── speculative-simple/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── speculative-simple.cpp │ ├── sycl/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── build.sh │ │ ├── ls-sycl-device.cpp │ │ ├── run-llama2.sh │ │ ├── test.sh │ │ ├── win-build-sycl.bat │ │ ├── win-run-llama2.bat │ │ └── win-test.bat │ ├── training/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── finetune.cpp │ └── ts-type-to-grammar.sh ├── flake.nix ├── ggml/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── cmake/ │ │ ├── GitVars.cmake │ │ ├── common.cmake │ │ └── ggml-config.cmake.in │ ├── include/ │ │ ├── ggml-alloc.h │ │ ├── ggml-backend.h │ │ ├── ggml-blas.h │ │ ├── ggml-cann.h │ │ ├── ggml-cpp.h │ │ ├── ggml-cpu.h │ │ ├── ggml-cuda.h │ │ ├── ggml-hexagon.h │ │ ├── ggml-metal.h │ │ ├── ggml-opencl.h │ │ ├── ggml-openvino.h │ │ ├── ggml-opt.h │ │ ├── ggml-rpc.h │ │ ├── ggml-sycl.h │ │ ├── ggml-virtgpu.h │ │ ├── ggml-vulkan.h │ │ ├── ggml-webgpu.h │ │ ├── ggml-zdnn.h │ │ ├── ggml-zendnn.h │ │ ├── ggml.h │ │ └── gguf.h │ └── src/ │ ├── CMakeLists.txt │ ├── ggml-alloc.c │ ├── ggml-backend-dl.cpp │ ├── ggml-backend-dl.h │ ├── ggml-backend-impl.h │ ├── ggml-backend-reg.cpp │ ├── ggml-backend.cpp │ ├── ggml-blas/ │ │ ├── CMakeLists.txt │ │ └── ggml-blas.cpp │ ├── ggml-cann/ │ │ ├── CMakeLists.txt │ │ ├── acl_tensor.cpp │ │ ├── acl_tensor.h │ │ ├── aclnn_ops.cpp │ │ ├── aclnn_ops.h │ │ ├── common.h │ │ └── ggml-cann.cpp │ ├── ggml-common.h │ ├── ggml-cpu/ │ │ ├── CMakeLists.txt │ │ ├── amx/ │ │ │ ├── amx.cpp │ │ │ ├── amx.h │ │ │ ├── common.h │ │ │ ├── mmq.cpp │ │ │ └── mmq.h │ │ ├── arch/ │ │ │ ├── arm/ │ │ │ │ ├── cpu-feats.cpp │ │ │ │ ├── quants.c │ │ │ │ └── repack.cpp │ │ │ ├── loongarch/ │ │ │ │ └── quants.c │ │ │ ├── powerpc/ │ │ │ │ ├── cpu-feats.cpp │ │ │ │ └── quants.c │ │ │ ├── riscv/ │ │ │ │ ├── cpu-feats.cpp │ │ │ │ ├── quants.c │ │ │ │ └── repack.cpp │ │ │ ├── s390/ │ │ │ │ ├── cpu-feats.cpp │ │ │ │ └── quants.c │ │ │ ├── wasm/ │ │ │ │ └── quants.c │ │ │ └── x86/ │ │ │ ├── cpu-feats.cpp │ │ │ ├── quants.c │ │ │ └── repack.cpp │ │ ├── arch-fallback.h │ │ ├── binary-ops.cpp │ │ ├── binary-ops.h │ │ ├── cmake/ │ │ │ └── FindSIMD.cmake │ │ ├── common.h │ │ ├── ggml-cpu-impl.h │ │ ├── ggml-cpu.c │ │ ├── ggml-cpu.cpp │ │ ├── hbm.cpp │ │ ├── hbm.h │ │ ├── kleidiai/ │ │ │ ├── kernels.cpp │ │ │ ├── kernels.h │ │ │ ├── kleidiai.cpp │ │ │ └── kleidiai.h │ │ ├── llamafile/ │ │ │ ├── sgemm.cpp │ │ │ └── sgemm.h │ │ ├── ops.cpp │ │ ├── ops.h │ │ ├── quants.c │ │ ├── quants.h │ │ ├── repack.cpp │ │ ├── repack.h │ │ ├── simd-gemm.h │ │ ├── simd-mappings.h │ │ ├── spacemit/ │ │ │ ├── ime.cpp │ │ │ ├── ime.h │ │ │ ├── ime1_kernels.cpp │ │ │ └── ime_kernels.h │ │ ├── traits.cpp │ │ ├── traits.h │ │ ├── unary-ops.cpp │ │ ├── unary-ops.h │ │ ├── vec.cpp │ │ └── vec.h │ ├── ggml-cuda/ │ │ ├── CMakeLists.txt │ │ ├── acc.cu │ │ ├── acc.cuh │ │ ├── add-id.cu │ │ ├── add-id.cuh │ │ ├── arange.cu │ │ ├── arange.cuh │ │ ├── argmax.cu │ │ ├── argmax.cuh │ │ ├── argsort.cu │ │ ├── argsort.cuh │ │ ├── binbcast.cu │ │ ├── binbcast.cuh │ │ ├── clamp.cu │ │ ├── clamp.cuh │ │ ├── common.cuh │ │ ├── concat.cu │ │ ├── concat.cuh │ │ ├── conv-transpose-1d.cu │ │ ├── conv-transpose-1d.cuh │ │ ├── conv2d-dw.cu │ │ ├── conv2d-dw.cuh │ │ ├── conv2d-transpose.cu │ │ ├── conv2d-transpose.cuh │ │ ├── conv2d.cu │ │ ├── conv2d.cuh │ │ ├── convert.cu │ │ ├── convert.cuh │ │ ├── count-equal.cu │ │ ├── count-equal.cuh │ │ ├── cp-async.cuh │ │ ├── cpy-utils.cuh │ │ ├── cpy.cu │ │ ├── cpy.cuh │ │ ├── cross-entropy-loss.cu │ │ ├── cross-entropy-loss.cuh │ │ ├── cumsum.cu │ │ ├── cumsum.cuh │ │ ├── dequantize.cuh │ │ ├── diag.cu │ │ ├── diag.cuh │ │ ├── diagmask.cu │ │ ├── diagmask.cuh │ │ ├── fattn-common.cuh │ │ ├── fattn-mma-f16.cuh │ │ ├── fattn-tile.cu │ │ ├── fattn-tile.cuh │ │ ├── fattn-vec.cuh │ │ ├── fattn-wmma-f16.cu │ │ ├── fattn-wmma-f16.cuh │ │ ├── fattn.cu │ │ ├── fattn.cuh │ │ ├── fill.cu │ │ ├── fill.cuh │ │ ├── gated_delta_net.cu │ │ ├── gated_delta_net.cuh │ │ ├── getrows.cu │ │ ├── getrows.cuh │ │ ├── ggml-cuda.cu │ │ ├── gla.cu │ │ ├── gla.cuh │ │ ├── im2col.cu │ │ ├── im2col.cuh │ │ ├── mean.cu │ │ ├── mean.cuh │ │ ├── mma.cuh │ │ ├── mmf.cu │ │ ├── mmf.cuh │ │ ├── mmid.cu │ │ ├── mmid.cuh │ │ ├── mmq.cu │ │ ├── mmq.cuh │ │ ├── mmvf.cu │ │ ├── mmvf.cuh │ │ ├── mmvq.cu │ │ ├── mmvq.cuh │ │ ├── norm.cu │ │ ├── norm.cuh │ │ ├── opt-step-adamw.cu │ │ ├── opt-step-adamw.cuh │ │ ├── opt-step-sgd.cu │ │ ├── opt-step-sgd.cuh │ │ ├── out-prod.cu │ │ ├── out-prod.cuh │ │ ├── pad.cu │ │ ├── pad.cuh │ │ ├── pad_reflect_1d.cu │ │ ├── pad_reflect_1d.cuh │ │ ├── pool2d.cu │ │ ├── pool2d.cuh │ │ ├── quantize.cu │ │ ├── quantize.cuh │ │ ├── reduce_rows.cuh │ │ ├── roll.cu │ │ ├── roll.cuh │ │ ├── rope.cu │ │ ├── rope.cuh │ │ ├── scale.cu │ │ ├── scale.cuh │ │ ├── set-rows.cu │ │ ├── set-rows.cuh │ │ ├── set.cu │ │ ├── set.cuh │ │ ├── softcap.cu │ │ ├── softcap.cuh │ │ ├── softmax.cu │ │ ├── softmax.cuh │ │ ├── solve_tri.cu │ │ ├── solve_tri.cuh │ │ ├── ssm-conv.cu │ │ ├── ssm-conv.cuh │ │ ├── ssm-scan.cu │ │ ├── ssm-scan.cuh │ │ ├── sum.cu │ │ ├── sum.cuh │ │ ├── sumrows.cu │ │ ├── sumrows.cuh │ │ ├── template-instances/ │ │ │ ├── fattn-mma-f16-instance-ncols1_1-ncols2_16.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_1-ncols2_32.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_1-ncols2_8.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_16-ncols2_1.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_16-ncols2_2.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_16-ncols2_4.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_2-ncols2_16.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_2-ncols2_32.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_2-ncols2_4.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_2-ncols2_8.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_32-ncols2_1.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_32-ncols2_2.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_4-ncols2_16.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_4-ncols2_2.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_4-ncols2_4.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_4-ncols2_8.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_64-ncols2_1.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_8-ncols2_1.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_8-ncols2_2.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_8-ncols2_4.cu │ │ │ ├── fattn-mma-f16-instance-ncols1_8-ncols2_8.cu │ │ │ ├── fattn-tile-instance-dkq112-dv112.cu │ │ │ ├── fattn-tile-instance-dkq128-dv128.cu │ │ │ ├── fattn-tile-instance-dkq256-dv256.cu │ │ │ ├── fattn-tile-instance-dkq40-dv40.cu │ │ │ ├── fattn-tile-instance-dkq512-dv512.cu │ │ │ ├── fattn-tile-instance-dkq576-dv512.cu │ │ │ ├── fattn-tile-instance-dkq64-dv64.cu │ │ │ ├── fattn-tile-instance-dkq72-dv72.cu │ │ │ ├── fattn-tile-instance-dkq80-dv80.cu │ │ │ ├── fattn-tile-instance-dkq96-dv96.cu │ │ │ ├── fattn-vec-instance-bf16-bf16.cu │ │ │ ├── fattn-vec-instance-bf16-f16.cu │ │ │ ├── fattn-vec-instance-bf16-q4_0.cu │ │ │ ├── fattn-vec-instance-bf16-q4_1.cu │ │ │ ├── fattn-vec-instance-bf16-q5_0.cu │ │ │ ├── fattn-vec-instance-bf16-q5_1.cu │ │ │ ├── fattn-vec-instance-bf16-q8_0.cu │ │ │ ├── fattn-vec-instance-f16-bf16.cu │ │ │ ├── fattn-vec-instance-f16-f16.cu │ │ │ ├── fattn-vec-instance-f16-q4_0.cu │ │ │ ├── fattn-vec-instance-f16-q4_1.cu │ │ │ ├── fattn-vec-instance-f16-q5_0.cu │ │ │ ├── fattn-vec-instance-f16-q5_1.cu │ │ │ ├── fattn-vec-instance-f16-q8_0.cu │ │ │ ├── fattn-vec-instance-q4_0-bf16.cu │ │ │ ├── fattn-vec-instance-q4_0-f16.cu │ │ │ ├── fattn-vec-instance-q4_0-q4_0.cu │ │ │ ├── fattn-vec-instance-q4_0-q4_1.cu │ │ │ ├── fattn-vec-instance-q4_0-q5_0.cu │ │ │ ├── fattn-vec-instance-q4_0-q5_1.cu │ │ │ ├── fattn-vec-instance-q4_0-q8_0.cu │ │ │ ├── fattn-vec-instance-q4_1-bf16.cu │ │ │ ├── fattn-vec-instance-q4_1-f16.cu │ │ │ ├── fattn-vec-instance-q4_1-q4_0.cu │ │ │ ├── fattn-vec-instance-q4_1-q4_1.cu │ │ │ ├── fattn-vec-instance-q4_1-q5_0.cu │ │ │ ├── fattn-vec-instance-q4_1-q5_1.cu │ │ │ ├── fattn-vec-instance-q4_1-q8_0.cu │ │ │ ├── fattn-vec-instance-q5_0-bf16.cu │ │ │ ├── fattn-vec-instance-q5_0-f16.cu │ │ │ ├── fattn-vec-instance-q5_0-q4_0.cu │ │ │ ├── fattn-vec-instance-q5_0-q4_1.cu │ │ │ ├── fattn-vec-instance-q5_0-q5_0.cu │ │ │ ├── fattn-vec-instance-q5_0-q5_1.cu │ │ │ ├── fattn-vec-instance-q5_0-q8_0.cu │ │ │ ├── fattn-vec-instance-q5_1-bf16.cu │ │ │ ├── fattn-vec-instance-q5_1-f16.cu │ │ │ ├── fattn-vec-instance-q5_1-q4_0.cu │ │ │ ├── fattn-vec-instance-q5_1-q4_1.cu │ │ │ ├── fattn-vec-instance-q5_1-q5_0.cu │ │ │ ├── fattn-vec-instance-q5_1-q5_1.cu │ │ │ ├── fattn-vec-instance-q5_1-q8_0.cu │ │ │ ├── fattn-vec-instance-q8_0-bf16.cu │ │ │ ├── fattn-vec-instance-q8_0-f16.cu │ │ │ ├── fattn-vec-instance-q8_0-q4_0.cu │ │ │ ├── fattn-vec-instance-q8_0-q4_1.cu │ │ │ ├── fattn-vec-instance-q8_0-q5_0.cu │ │ │ ├── fattn-vec-instance-q8_0-q5_1.cu │ │ │ ├── fattn-vec-instance-q8_0-q8_0.cu │ │ │ ├── generate_cu_files.py │ │ │ ├── mmf-instance-ncols_1.cu │ │ │ ├── mmf-instance-ncols_10.cu │ │ │ ├── mmf-instance-ncols_11.cu │ │ │ ├── mmf-instance-ncols_12.cu │ │ │ ├── mmf-instance-ncols_13.cu │ │ │ ├── mmf-instance-ncols_14.cu │ │ │ ├── mmf-instance-ncols_15.cu │ │ │ ├── mmf-instance-ncols_16.cu │ │ │ ├── mmf-instance-ncols_2.cu │ │ │ ├── mmf-instance-ncols_3.cu │ │ │ ├── mmf-instance-ncols_4.cu │ │ │ ├── mmf-instance-ncols_5.cu │ │ │ ├── mmf-instance-ncols_6.cu │ │ │ ├── mmf-instance-ncols_7.cu │ │ │ ├── mmf-instance-ncols_8.cu │ │ │ ├── mmf-instance-ncols_9.cu │ │ │ ├── mmq-instance-iq1_s.cu │ │ │ ├── mmq-instance-iq2_s.cu │ │ │ ├── mmq-instance-iq2_xs.cu │ │ │ ├── mmq-instance-iq2_xxs.cu │ │ │ ├── mmq-instance-iq3_s.cu │ │ │ ├── mmq-instance-iq3_xxs.cu │ │ │ ├── mmq-instance-iq4_nl.cu │ │ │ ├── mmq-instance-iq4_xs.cu │ │ │ ├── mmq-instance-mxfp4.cu │ │ │ ├── mmq-instance-nvfp4.cu │ │ │ ├── mmq-instance-q2_k.cu │ │ │ ├── mmq-instance-q3_k.cu │ │ │ ├── mmq-instance-q4_0.cu │ │ │ ├── mmq-instance-q4_1.cu │ │ │ ├── mmq-instance-q4_k.cu │ │ │ ├── mmq-instance-q5_0.cu │ │ │ ├── mmq-instance-q5_1.cu │ │ │ ├── mmq-instance-q5_k.cu │ │ │ ├── mmq-instance-q6_k.cu │ │ │ └── mmq-instance-q8_0.cu │ │ ├── top-k.cu │ │ ├── top-k.cuh │ │ ├── topk-moe.cu │ │ ├── topk-moe.cuh │ │ ├── tri.cu │ │ ├── tri.cuh │ │ ├── tsembd.cu │ │ ├── tsembd.cuh │ │ ├── unary.cu │ │ ├── unary.cuh │ │ ├── upscale.cu │ │ ├── upscale.cuh │ │ ├── vecdotq.cuh │ │ ├── vendors/ │ │ │ ├── cuda.h │ │ │ ├── hip.h │ │ │ └── musa.h │ │ ├── wkv.cu │ │ └── wkv.cuh │ ├── ggml-hexagon/ │ │ ├── CMakeLists.txt │ │ ├── ggml-hexagon.cpp │ │ ├── htp/ │ │ │ ├── CMakeLists.txt │ │ │ ├── act-ops.c │ │ │ ├── argsort-ops.c │ │ │ ├── binary-ops.c │ │ │ ├── cmake-toolchain.cmake │ │ │ ├── cpy-ops.c │ │ │ ├── cumsum-ops.c │ │ │ ├── flash-attn-ops.c │ │ │ ├── get-rows-ops.c │ │ │ ├── hex-dma.c │ │ │ ├── hex-dma.h │ │ │ ├── hex-dump.h │ │ │ ├── hex-fastdiv.h │ │ │ ├── hex-utils.h │ │ │ ├── hmx-matmul-ops.c │ │ │ ├── hmx-ops.h │ │ │ ├── hmx-profile.h │ │ │ ├── hmx-utils.h │ │ │ ├── htp-ctx.h │ │ │ ├── htp-msg.h │ │ │ ├── htp-ops.h │ │ │ ├── htp_iface.idl │ │ │ ├── hvx-arith.h │ │ │ ├── hvx-base.h │ │ │ ├── hvx-copy.h │ │ │ ├── hvx-div.h │ │ │ ├── hvx-dump.h │ │ │ ├── hvx-exp.h │ │ │ ├── hvx-floor.h │ │ │ ├── hvx-inverse.h │ │ │ ├── hvx-reduce.h │ │ │ ├── hvx-scale.h │ │ │ ├── hvx-sigmoid.h │ │ │ ├── hvx-sqrt.h │ │ │ ├── hvx-types.h │ │ │ ├── hvx-utils.h │ │ │ ├── main.c │ │ │ ├── matmul-ops.c │ │ │ ├── repeat-ops.c │ │ │ ├── rope-ops.c │ │ │ ├── set-rows-ops.c │ │ │ ├── softmax-ops.c │ │ │ ├── ssm-conv.c │ │ │ ├── sum-rows-ops.c │ │ │ ├── unary-ops.c │ │ │ ├── worker-pool.c │ │ │ └── worker-pool.h │ │ ├── htp-drv.cpp │ │ ├── htp-drv.h │ │ ├── libdl.h │ │ ├── libggml-htp.inf │ │ └── op-desc.h │ ├── ggml-hip/ │ │ └── CMakeLists.txt │ ├── ggml-impl.h │ ├── ggml-metal/ │ │ ├── CMakeLists.txt │ │ ├── ggml-metal-common.cpp │ │ ├── ggml-metal-common.h │ │ ├── ggml-metal-context.h │ │ ├── ggml-metal-context.m │ │ ├── ggml-metal-device.cpp │ │ ├── ggml-metal-device.h │ │ ├── ggml-metal-device.m │ │ ├── ggml-metal-impl.h │ │ ├── ggml-metal-ops.cpp │ │ ├── ggml-metal-ops.h │ │ ├── ggml-metal.cpp │ │ └── ggml-metal.metal │ ├── ggml-musa/ │ │ ├── CMakeLists.txt │ │ ├── mudnn.cu │ │ └── mudnn.cuh │ ├── ggml-opencl/ │ │ ├── CMakeLists.txt │ │ ├── ggml-opencl.cpp │ │ └── kernels/ │ │ ├── add.cl │ │ ├── add_id.cl │ │ ├── argsort.cl │ │ ├── clamp.cl │ │ ├── concat.cl │ │ ├── conv2d.cl │ │ ├── conv2d_f16_f32.cl │ │ ├── cpy.cl │ │ ├── cumsum.cl │ │ ├── cvt.cl │ │ ├── diag.cl │ │ ├── diag_mask_inf.cl │ │ ├── div.cl │ │ ├── embed_kernel.py │ │ ├── exp.cl │ │ ├── expm1.cl │ │ ├── fill.cl │ │ ├── flash_attn_f16.cl │ │ ├── flash_attn_f32.cl │ │ ├── flash_attn_f32_f16.cl │ │ ├── gelu.cl │ │ ├── gemm_moe_mxfp4_f32.cl │ │ ├── gemm_noshuffle_q4_1_f32.cl │ │ ├── gemm_noshuffle_q4_k_f32.cl │ │ ├── gemm_noshuffle_q6_k_f32.cl │ │ ├── gemv_moe_mxfp4_f32.cl │ │ ├── gemv_noshuffle.cl │ │ ├── gemv_noshuffle_general.cl │ │ ├── gemv_noshuffle_general_q8_0_f32.cl │ │ ├── gemv_noshuffle_q4_1_f32.cl │ │ ├── gemv_noshuffle_q4_k_f32.cl │ │ ├── gemv_noshuffle_q6_k_f32.cl │ │ ├── get_rows.cl │ │ ├── glu.cl │ │ ├── group_norm.cl │ │ ├── im2col_f16.cl │ │ ├── im2col_f32.cl │ │ ├── l2_norm.cl │ │ ├── mean.cl │ │ ├── mul.cl │ │ ├── mul_mat_Ab_Bi_8x4.cl │ │ ├── mul_mat_f16_f32.cl │ │ ├── mul_mm_f16_f32_kq_kqv.cl │ │ ├── mul_mm_f16_f32_l4_lm.cl │ │ ├── mul_mm_f32_f32_l4_lm.cl │ │ ├── mul_mm_q4_0_f32_l4_lm.cl │ │ ├── mul_mm_q4_1_f32_l4_lm.cl │ │ ├── mul_mm_q4_k_f32_l4_lm.cl │ │ ├── mul_mm_q6_k_f32_l4_lm.cl │ │ ├── mul_mm_q8_0_f32_8x4.cl │ │ ├── mul_mm_q8_0_f32_l4_lm.cl │ │ ├── mul_mv_f16_f16.cl │ │ ├── mul_mv_f16_f32.cl │ │ ├── mul_mv_f16_f32_1row.cl │ │ ├── mul_mv_f16_f32_l4.cl │ │ ├── mul_mv_f32_f32.cl │ │ ├── mul_mv_id_mxfp4_f32.cl │ │ ├── mul_mv_id_mxfp4_f32_flat.cl │ │ ├── mul_mv_id_q4_0_f32_8x_flat.cl │ │ ├── mul_mv_id_q8_0_f32.cl │ │ ├── mul_mv_id_q8_0_f32_flat.cl │ │ ├── mul_mv_mxfp4_f32.cl │ │ ├── mul_mv_mxfp4_f32_flat.cl │ │ ├── mul_mv_q4_0_f32.cl │ │ ├── mul_mv_q4_0_f32_1d_16x_flat.cl │ │ ├── mul_mv_q4_0_f32_1d_8x_flat.cl │ │ ├── mul_mv_q4_0_f32_8x_flat.cl │ │ ├── mul_mv_q4_0_f32_v.cl │ │ ├── mul_mv_q4_1_f32.cl │ │ ├── mul_mv_q4_1_f32_flat.cl │ │ ├── mul_mv_q4_k_f32.cl │ │ ├── mul_mv_q4_k_f32_flat.cl │ │ ├── mul_mv_q6_k_f32.cl │ │ ├── mul_mv_q6_k_f32_flat.cl │ │ ├── mul_mv_q8_0_f32.cl │ │ ├── mul_mv_q8_0_f32_flat.cl │ │ ├── neg.cl │ │ ├── norm.cl │ │ ├── pad.cl │ │ ├── relu.cl │ │ ├── repeat.cl │ │ ├── rms_norm.cl │ │ ├── rope.cl │ │ ├── scale.cl │ │ ├── set_rows.cl │ │ ├── sigmoid.cl │ │ ├── silu.cl │ │ ├── softmax_4_f16.cl │ │ ├── softmax_4_f32.cl │ │ ├── softmax_f16.cl │ │ ├── softmax_f32.cl │ │ ├── softplus.cl │ │ ├── solve_tri.cl │ │ ├── sqr.cl │ │ ├── sqrt.cl │ │ ├── ssm_conv.cl │ │ ├── sub.cl │ │ ├── sum_rows.cl │ │ ├── tanh.cl │ │ ├── transpose.cl │ │ ├── tri.cl │ │ ├── tsembd.cl │ │ └── upscale.cl │ ├── ggml-openvino/ │ │ ├── .clang-format │ │ ├── CMakeLists.txt │ │ ├── ggml-decoder.cpp │ │ ├── ggml-decoder.h │ │ ├── ggml-openvino-extra.cpp │ │ ├── ggml-openvino-extra.h │ │ ├── ggml-openvino.cpp │ │ ├── ggml-quants.cpp │ │ ├── ggml-quants.h │ │ ├── openvino/ │ │ │ ├── decoder.h │ │ │ ├── frontend.cpp │ │ │ ├── frontend.h │ │ │ ├── input_model.cpp │ │ │ ├── input_model.h │ │ │ ├── node_context.h │ │ │ ├── op/ │ │ │ │ ├── cont.cpp │ │ │ │ ├── cpy.cpp │ │ │ │ ├── flash_attn_ext.cpp │ │ │ │ ├── get_rows.cpp │ │ │ │ ├── glu_geglu.cpp │ │ │ │ ├── glu_swiglu.cpp │ │ │ │ ├── mulmat.cpp │ │ │ │ ├── permute.cpp │ │ │ │ ├── reshape.cpp │ │ │ │ ├── rms_norm.cpp │ │ │ │ ├── rope.cpp │ │ │ │ ├── scale.cpp │ │ │ │ ├── set_rows.cpp │ │ │ │ ├── softmax.cpp │ │ │ │ ├── transpose.cpp │ │ │ │ ├── unary_silu.cpp │ │ │ │ └── view.cpp │ │ │ ├── op_table.cpp │ │ │ ├── op_table.h │ │ │ ├── pass/ │ │ │ │ ├── eliminate_zp.cpp │ │ │ │ ├── eliminate_zp.h │ │ │ │ ├── fuse_to_sdpa.cpp │ │ │ │ ├── fuse_to_sdpa.h │ │ │ │ ├── mark_decompression_convert_constant_folding.h │ │ │ │ ├── squeeze_matmul.cpp │ │ │ │ └── squeeze_matmul.h │ │ │ ├── translate_session.cpp │ │ │ ├── translate_session.h │ │ │ ├── utils.cpp │ │ │ └── utils.h │ │ ├── utils.cpp │ │ └── utils.h │ ├── ggml-opt.cpp │ ├── ggml-quants.c │ ├── ggml-quants.h │ ├── ggml-rpc/ │ │ ├── CMakeLists.txt │ │ └── ggml-rpc.cpp │ ├── ggml-sycl/ │ │ ├── CMakeLists.txt │ │ ├── add-id.cpp │ │ ├── add-id.hpp │ │ ├── backend.hpp │ │ ├── binbcast.cpp │ │ ├── binbcast.hpp │ │ ├── common.cpp │ │ ├── common.hpp │ │ ├── concat.cpp │ │ ├── concat.hpp │ │ ├── conv.cpp │ │ ├── conv.hpp │ │ ├── convert.cpp │ │ ├── convert.hpp │ │ ├── count-equal.cpp │ │ ├── count-equal.hpp │ │ ├── cpy.cpp │ │ ├── cpy.hpp │ │ ├── dequantize.hpp │ │ ├── dmmv.cpp │ │ ├── dmmv.hpp │ │ ├── dpct/ │ │ │ └── helper.hpp │ │ ├── element_wise.cpp │ │ ├── element_wise.hpp │ │ ├── fattn-common.hpp │ │ ├── fattn-tile.cpp │ │ ├── fattn-tile.hpp │ │ ├── fattn-vec.hpp │ │ ├── fattn.cpp │ │ ├── fattn.hpp │ │ ├── gated_delta_net.cpp │ │ ├── gated_delta_net.hpp │ │ ├── gemm.hpp │ │ ├── getrows.cpp │ │ ├── getrows.hpp │ │ ├── ggml-sycl.cpp │ │ ├── gla.cpp │ │ ├── gla.hpp │ │ ├── im2col.cpp │ │ ├── im2col.hpp │ │ ├── mmq.cpp │ │ ├── mmq.hpp │ │ ├── mmvq.cpp │ │ ├── mmvq.hpp │ │ ├── norm.cpp │ │ ├── norm.hpp │ │ ├── outprod.cpp │ │ ├── outprod.hpp │ │ ├── pad.cpp │ │ ├── pad.hpp │ │ ├── pad_reflect_1d.cpp │ │ ├── pad_reflect_1d.hpp │ │ ├── presets.hpp │ │ ├── quantize.hpp │ │ ├── quants.hpp │ │ ├── repeat_back.cpp │ │ ├── repeat_back.hpp │ │ ├── roll.cpp │ │ ├── roll.hpp │ │ ├── rope.cpp │ │ ├── rope.hpp │ │ ├── set.cpp │ │ ├── set.hpp │ │ ├── set_rows.cpp │ │ ├── set_rows.hpp │ │ ├── softmax.cpp │ │ ├── softmax.hpp │ │ ├── ssm_conv.cpp │ │ ├── ssm_conv.hpp │ │ ├── sycl_hw.cpp │ │ ├── sycl_hw.hpp │ │ ├── template-instances/ │ │ │ ├── fattn-tile-instance-dkq112-dv112.cpp │ │ │ ├── fattn-tile-instance-dkq128-dv128.cpp │ │ │ ├── fattn-tile-instance-dkq256-dv256.cpp │ │ │ ├── fattn-tile-instance-dkq40-dv40.cpp │ │ │ ├── fattn-tile-instance-dkq576-dv512.cpp │ │ │ ├── fattn-tile-instance-dkq64-dv64.cpp │ │ │ ├── fattn-tile-instance-dkq72-dv72.cpp │ │ │ ├── fattn-tile-instance-dkq80-dv80.cpp │ │ │ ├── fattn-tile-instance-dkq96-dv96.cpp │ │ │ ├── fattn-vec-instance-f16-f16.cpp │ │ │ ├── fattn-vec-instance-f16-q4_0.cpp │ │ │ ├── fattn-vec-instance-f16-q4_1.cpp │ │ │ ├── fattn-vec-instance-f16-q5_0.cpp │ │ │ ├── fattn-vec-instance-f16-q5_1.cpp │ │ │ ├── fattn-vec-instance-f16-q8_0.cpp │ │ │ ├── fattn-vec-instance-q4_0-f16.cpp │ │ │ ├── fattn-vec-instance-q4_0-q4_0.cpp │ │ │ ├── fattn-vec-instance-q4_0-q4_1.cpp │ │ │ ├── fattn-vec-instance-q4_0-q5_0.cpp │ │ │ ├── fattn-vec-instance-q4_0-q5_1.cpp │ │ │ ├── fattn-vec-instance-q4_0-q8_0.cpp │ │ │ ├── fattn-vec-instance-q4_1-f16.cpp │ │ │ ├── fattn-vec-instance-q4_1-q4_0.cpp │ │ │ ├── fattn-vec-instance-q4_1-q4_1.cpp │ │ │ ├── fattn-vec-instance-q4_1-q5_0.cpp │ │ │ ├── fattn-vec-instance-q4_1-q5_1.cpp │ │ │ ├── fattn-vec-instance-q4_1-q8_0.cpp │ │ │ ├── fattn-vec-instance-q5_0-f16.cpp │ │ │ ├── fattn-vec-instance-q5_0-q4_0.cpp │ │ │ ├── fattn-vec-instance-q5_0-q4_1.cpp │ │ │ ├── fattn-vec-instance-q5_0-q5_0.cpp │ │ │ ├── fattn-vec-instance-q5_0-q5_1.cpp │ │ │ ├── fattn-vec-instance-q5_0-q8_0.cpp │ │ │ ├── fattn-vec-instance-q5_1-f16.cpp │ │ │ ├── fattn-vec-instance-q5_1-q4_0.cpp │ │ │ ├── fattn-vec-instance-q5_1-q4_1.cpp │ │ │ ├── fattn-vec-instance-q5_1-q5_0.cpp │ │ │ ├── fattn-vec-instance-q5_1-q5_1.cpp │ │ │ ├── fattn-vec-instance-q5_1-q8_0.cpp │ │ │ ├── fattn-vec-instance-q8_0-f16.cpp │ │ │ ├── fattn-vec-instance-q8_0-q4_0.cpp │ │ │ ├── fattn-vec-instance-q8_0-q4_1.cpp │ │ │ ├── fattn-vec-instance-q8_0-q5_0.cpp │ │ │ ├── fattn-vec-instance-q8_0-q5_1.cpp │ │ │ └── fattn-vec-instance-q8_0-q8_0.cpp │ │ ├── tsembd.cpp │ │ ├── tsembd.hpp │ │ ├── type.hpp │ │ ├── upscale.cpp │ │ ├── upscale.hpp │ │ ├── vecdotq.hpp │ │ ├── wkv.cpp │ │ └── wkv.hpp │ ├── ggml-threading.cpp │ ├── ggml-threading.h │ ├── ggml-virtgpu/ │ │ ├── CMakeLists.txt │ │ ├── apir_cs_ggml-rpc-front.cpp │ │ ├── backend/ │ │ │ ├── CMakeLists.txt │ │ │ ├── apir_cs_ggml-rpc-back.cpp │ │ │ ├── backend-convert.h │ │ │ ├── backend-dispatched-backend.cpp │ │ │ ├── backend-dispatched-buffer-type.cpp │ │ │ ├── backend-dispatched-buffer.cpp │ │ │ ├── backend-dispatched-device.cpp │ │ │ ├── backend-dispatched.cpp │ │ │ ├── backend-dispatched.gen.h │ │ │ ├── backend-dispatched.h │ │ │ ├── backend-virgl-apir.h │ │ │ ├── backend.cpp │ │ │ └── shared/ │ │ │ ├── api_remoting.h │ │ │ ├── apir_backend.gen.h │ │ │ ├── apir_backend.h │ │ │ ├── apir_cs.h │ │ │ ├── apir_cs_ggml.h │ │ │ └── apir_cs_rpc.h │ │ ├── ggml-backend-buffer-type.cpp │ │ ├── ggml-backend-buffer.cpp │ │ ├── ggml-backend-device.cpp │ │ ├── ggml-backend-reg.cpp │ │ ├── ggml-backend.cpp │ │ ├── ggml-remoting.h │ │ ├── ggmlremoting_functions.yaml │ │ ├── include/ │ │ │ └── apir_hw.h │ │ ├── regenerate_remoting.py │ │ ├── virtgpu-apir.h │ │ ├── virtgpu-forward-backend.cpp │ │ ├── virtgpu-forward-buffer-type.cpp │ │ ├── virtgpu-forward-buffer.cpp │ │ ├── virtgpu-forward-device.cpp │ │ ├── virtgpu-forward-impl.h │ │ ├── virtgpu-forward.gen.h │ │ ├── virtgpu-shm.cpp │ │ ├── virtgpu-shm.h │ │ ├── virtgpu-utils.cpp │ │ ├── virtgpu-utils.h │ │ ├── virtgpu.cpp │ │ └── virtgpu.h │ ├── ggml-vulkan/ │ │ ├── CMakeLists.txt │ │ ├── cmake/ │ │ │ └── host-toolchain.cmake.in │ │ ├── ggml-vulkan.cpp │ │ └── vulkan-shaders/ │ │ ├── CMakeLists.txt │ │ ├── abs.comp │ │ ├── acc.comp │ │ ├── add.comp │ │ ├── add1.comp │ │ ├── add_id.comp │ │ ├── arange.comp │ │ ├── argmax.comp │ │ ├── argsort.comp │ │ ├── argsort_large.comp │ │ ├── ceil.comp │ │ ├── clamp.comp │ │ ├── concat.comp │ │ ├── contig_copy.comp │ │ ├── conv2d_dw.comp │ │ ├── conv2d_mm.comp │ │ ├── conv_transpose_1d.comp │ │ ├── copy.comp │ │ ├── copy_from_quant.comp │ │ ├── copy_to_quant.comp │ │ ├── copy_transpose.comp │ │ ├── cos.comp │ │ ├── count_equal.comp │ │ ├── count_experts.comp │ │ ├── cumsum.comp │ │ ├── cumsum_multipass1.comp │ │ ├── cumsum_multipass2.comp │ │ ├── dequant_f32.comp │ │ ├── dequant_funcs.glsl │ │ ├── dequant_funcs_cm2.glsl │ │ ├── dequant_head.glsl │ │ ├── dequant_iq1_m.comp │ │ ├── dequant_iq1_s.comp │ │ ├── dequant_iq2_s.comp │ │ ├── dequant_iq2_xs.comp │ │ ├── dequant_iq2_xxs.comp │ │ ├── dequant_iq3_s.comp │ │ ├── dequant_iq3_xxs.comp │ │ ├── dequant_iq4_nl.comp │ │ ├── dequant_iq4_xs.comp │ │ ├── dequant_mxfp4.comp │ │ ├── dequant_q2_k.comp │ │ ├── dequant_q3_k.comp │ │ ├── dequant_q4_0.comp │ │ ├── dequant_q4_1.comp │ │ ├── dequant_q4_k.comp │ │ ├── dequant_q5_0.comp │ │ ├── dequant_q5_1.comp │ │ ├── dequant_q5_k.comp │ │ ├── dequant_q6_k.comp │ │ ├── dequant_q8_0.comp │ │ ├── diag.comp │ │ ├── diag_mask_inf.comp │ │ ├── div.comp │ │ ├── elu.comp │ │ ├── exp.comp │ │ ├── feature-tests/ │ │ │ ├── bfloat16.comp │ │ │ ├── coopmat.comp │ │ │ ├── coopmat2.comp │ │ │ └── integer_dot.comp │ │ ├── fill.comp │ │ ├── flash_attn.comp │ │ ├── flash_attn_base.glsl │ │ ├── flash_attn_cm1.comp │ │ ├── flash_attn_cm2.comp │ │ ├── flash_attn_mask_opt.comp │ │ ├── flash_attn_split_k_reduce.comp │ │ ├── floor.comp │ │ ├── gated_delta_net.comp │ │ ├── geglu.comp │ │ ├── geglu_erf.comp │ │ ├── geglu_quick.comp │ │ ├── gelu.comp │ │ ├── gelu_erf.comp │ │ ├── gelu_quick.comp │ │ ├── generic_binary_head.glsl │ │ ├── generic_head.glsl │ │ ├── generic_unary_head.glsl │ │ ├── get_rows.comp │ │ ├── get_rows_quant.comp │ │ ├── glu_head.glsl │ │ ├── glu_main.glsl │ │ ├── group_norm.comp │ │ ├── hardsigmoid.comp │ │ ├── hardswish.comp │ │ ├── im2col.comp │ │ ├── im2col_3d.comp │ │ ├── l2_norm.comp │ │ ├── leaky_relu.comp │ │ ├── log.comp │ │ ├── mul.comp │ │ ├── mul_mat_split_k_reduce.comp │ │ ├── mul_mat_vec.comp │ │ ├── mul_mat_vec_base.glsl │ │ ├── mul_mat_vec_iface.glsl │ │ ├── mul_mat_vec_iq1_m.comp │ │ ├── mul_mat_vec_iq1_s.comp │ │ ├── mul_mat_vec_iq2_s.comp │ │ ├── mul_mat_vec_iq2_xs.comp │ │ ├── mul_mat_vec_iq2_xxs.comp │ │ ├── mul_mat_vec_iq3_s.comp │ │ ├── mul_mat_vec_iq3_xxs.comp │ │ ├── mul_mat_vec_nc.comp │ │ ├── mul_mat_vec_p021.comp │ │ ├── mul_mat_vec_q2_k.comp │ │ ├── mul_mat_vec_q3_k.comp │ │ ├── mul_mat_vec_q4_k.comp │ │ ├── mul_mat_vec_q5_k.comp │ │ ├── mul_mat_vec_q6_k.comp │ │ ├── mul_mat_vecq.comp │ │ ├── mul_mat_vecq_funcs.glsl │ │ ├── mul_mm.comp │ │ ├── mul_mm_cm2.comp │ │ ├── mul_mm_funcs.glsl │ │ ├── mul_mm_id_funcs.glsl │ │ ├── mul_mmq.comp │ │ ├── mul_mmq_funcs.glsl │ │ ├── mul_mmq_shmem_types.glsl │ │ ├── multi_add.comp │ │ ├── neg.comp │ │ ├── norm.comp │ │ ├── opt_step_adamw.comp │ │ ├── opt_step_sgd.comp │ │ ├── pad.comp │ │ ├── pool2d.comp │ │ ├── quantize_q8_1.comp │ │ ├── reglu.comp │ │ ├── relu.comp │ │ ├── repeat.comp │ │ ├── repeat_back.comp │ │ ├── rms_norm.comp │ │ ├── rms_norm_back.comp │ │ ├── rms_norm_partials.comp │ │ ├── roll.comp │ │ ├── rope_funcs.glsl │ │ ├── rope_head.glsl │ │ ├── rope_multi.comp │ │ ├── rope_neox.comp │ │ ├── rope_norm.comp │ │ ├── rope_params.glsl │ │ ├── rope_vision.comp │ │ ├── round.comp │ │ ├── rte.glsl │ │ ├── scale.comp │ │ ├── sgn.comp │ │ ├── sigmoid.comp │ │ ├── silu.comp │ │ ├── silu_back.comp │ │ ├── sin.comp │ │ ├── soft_max.comp │ │ ├── soft_max_back.comp │ │ ├── soft_max_large1.comp │ │ ├── soft_max_large2.comp │ │ ├── soft_max_large3.comp │ │ ├── soft_max_large_common.glsl │ │ ├── softplus.comp │ │ ├── solve_tri.comp │ │ ├── sqrt.comp │ │ ├── square.comp │ │ ├── ssm_conv.comp │ │ ├── ssm_scan.comp │ │ ├── step.comp │ │ ├── sub.comp │ │ ├── sum_rows.comp │ │ ├── sum_rows.glsl │ │ ├── swiglu.comp │ │ ├── swiglu_oai.comp │ │ ├── tanh.comp │ │ ├── timestep_embedding.comp │ │ ├── topk_argsort.comp │ │ ├── topk_moe.comp │ │ ├── topk_nary_search.comp │ │ ├── tri.comp │ │ ├── trunc.comp │ │ ├── types.glsl │ │ ├── upscale.comp │ │ ├── utils.glsl │ │ ├── vulkan-shaders-gen.cpp │ │ ├── wkv6.comp │ │ ├── wkv7.comp │ │ └── xielu.comp │ ├── ggml-webgpu/ │ │ ├── CMakeLists.txt │ │ ├── ggml-webgpu-shader-lib.hpp │ │ ├── ggml-webgpu.cpp │ │ ├── pre_wgsl.hpp │ │ └── wgsl-shaders/ │ │ ├── argmax.wgsl │ │ ├── argsort.wgsl │ │ ├── argsort_merge.wgsl │ │ ├── binary.wgsl │ │ ├── common_decls.tmpl │ │ ├── concat.wgsl │ │ ├── cpy.wgsl │ │ ├── cumsum.wgsl │ │ ├── embed_wgsl.py │ │ ├── flash_attn.wgsl │ │ ├── gated_delta_net.wgsl │ │ ├── get_rows.wgsl │ │ ├── glu.wgsl │ │ ├── memset.wgsl │ │ ├── mul_mat.wgsl │ │ ├── mul_mat_decls.tmpl │ │ ├── mul_mat_reg_tile.wgsl │ │ ├── mul_mat_subgroup_matrix.wgsl │ │ ├── mul_mat_vec.wgsl │ │ ├── pad.wgsl │ │ ├── repeat.wgsl │ │ ├── rope.wgsl │ │ ├── row_norm.wgsl │ │ ├── scale.wgsl │ │ ├── set.wgsl │ │ ├── set_rows.wgsl │ │ ├── soft_max.wgsl │ │ ├── solve_tri.wgsl │ │ ├── ssm_conv.wgsl │ │ ├── sum_rows.wgsl │ │ └── unary.wgsl │ ├── ggml-zdnn/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── common.hpp │ │ ├── ggml-zdnn.cpp │ │ ├── mmf.cpp │ │ ├── mmf.hpp │ │ ├── utils.cpp │ │ └── utils.hpp │ ├── ggml-zendnn/ │ │ ├── CMakeLists.txt │ │ └── ggml-zendnn.cpp │ ├── ggml.c │ ├── ggml.cpp │ └── gguf.cpp ├── gguf-py/ │ ├── LICENSE │ ├── README.md │ ├── examples/ │ │ ├── reader.py │ │ └── writer.py │ ├── gguf/ │ │ ├── __init__.py │ │ ├── constants.py │ │ ├── gguf.py │ │ ├── gguf_reader.py │ │ ├── gguf_writer.py │ │ ├── lazy.py │ │ ├── metadata.py │ │ ├── py.typed │ │ ├── quants.py │ │ ├── scripts/ │ │ │ ├── gguf_convert_endian.py │ │ │ ├── gguf_dump.py │ │ │ ├── gguf_editor_gui.py │ │ │ ├── gguf_hash.py │ │ │ ├── gguf_new_metadata.py │ │ │ └── gguf_set_metadata.py │ │ ├── tensor_mapping.py │ │ ├── utility.py │ │ └── vocab.py │ ├── pyproject.toml │ └── tests/ │ ├── __init__.py │ ├── test_metadata.py │ └── test_quants.py ├── grammars/ │ ├── README.md │ ├── arithmetic.gbnf │ ├── c.gbnf │ ├── chess.gbnf │ ├── english.gbnf │ ├── japanese.gbnf │ ├── json.gbnf │ ├── json_arr.gbnf │ └── list.gbnf ├── include/ │ ├── llama-cpp.h │ └── llama.h ├── licenses/ │ └── LICENSE-jsonhpp ├── models/ │ ├── .editorconfig │ ├── ggml-vocab-aquila.gguf │ ├── ggml-vocab-baichuan.gguf │ ├── ggml-vocab-bert-bge.gguf │ ├── ggml-vocab-bert-bge.gguf.inp │ ├── ggml-vocab-bert-bge.gguf.out │ ├── ggml-vocab-command-r.gguf │ ├── ggml-vocab-command-r.gguf.inp │ ├── ggml-vocab-command-r.gguf.out │ ├── ggml-vocab-deepseek-coder.gguf │ ├── ggml-vocab-deepseek-coder.gguf.inp │ ├── ggml-vocab-deepseek-coder.gguf.out │ ├── ggml-vocab-deepseek-llm.gguf │ ├── ggml-vocab-deepseek-llm.gguf.inp │ ├── ggml-vocab-deepseek-llm.gguf.out │ ├── ggml-vocab-falcon.gguf │ ├── ggml-vocab-falcon.gguf.inp │ ├── ggml-vocab-falcon.gguf.out │ ├── ggml-vocab-gpt-2.gguf │ ├── ggml-vocab-gpt-2.gguf.inp │ ├── ggml-vocab-gpt-2.gguf.out │ ├── ggml-vocab-gpt-neox.gguf │ ├── ggml-vocab-llama-bpe.gguf │ ├── ggml-vocab-llama-bpe.gguf.inp │ ├── ggml-vocab-llama-bpe.gguf.out │ ├── ggml-vocab-llama-spm.gguf │ ├── ggml-vocab-llama-spm.gguf.inp │ ├── ggml-vocab-llama-spm.gguf.out │ ├── ggml-vocab-mpt.gguf │ ├── ggml-vocab-mpt.gguf.inp │ ├── ggml-vocab-mpt.gguf.out │ ├── ggml-vocab-nomic-bert-moe.gguf │ ├── ggml-vocab-phi-3.gguf │ ├── ggml-vocab-phi-3.gguf.inp │ ├── ggml-vocab-phi-3.gguf.out │ ├── ggml-vocab-qwen2.gguf │ ├── ggml-vocab-qwen2.gguf.inp │ ├── ggml-vocab-qwen2.gguf.out │ ├── ggml-vocab-refact.gguf │ ├── ggml-vocab-refact.gguf.inp │ ├── ggml-vocab-refact.gguf.out │ ├── ggml-vocab-starcoder.gguf │ ├── ggml-vocab-starcoder.gguf.inp │ ├── ggml-vocab-starcoder.gguf.out │ └── templates/ │ ├── Apertus-8B-Instruct.jinja │ ├── Apriel-1.6-15b-Thinker-fixed.jinja │ ├── Bielik-11B-v3.0-Instruct.jinja │ ├── ByteDance-Seed-OSS.jinja │ ├── CohereForAI-c4ai-command-r-plus-tool_use.jinja │ ├── CohereForAI-c4ai-command-r7b-12-2024-tool_use.jinja │ ├── GLM-4.6.jinja │ ├── GLM-4.7-Flash.jinja │ ├── GigaChat3-10B-A1.8B.jinja │ ├── GigaChat3.1-10B-A1.8B.jinja │ ├── HuggingFaceTB-SmolLM3-3B.jinja │ ├── Kimi-K2-Instruct.jinja │ ├── Kimi-K2-Thinking.jinja │ ├── LFM2-8B-A1B.jinja │ ├── LFM2.5-Instruct.jinja │ ├── MiMo-VL.jinja │ ├── MiniMax-M2.jinja │ ├── Mistral-Small-3.2-24B-Instruct-2506.jinja │ ├── NVIDIA-Nemotron-3-Nano-30B-A3B-BF16.jinja │ ├── NVIDIA-Nemotron-Nano-v2.jinja │ ├── NousResearch-Hermes-2-Pro-Llama-3-8B-tool_use.jinja │ ├── NousResearch-Hermes-3-Llama-3.1-8B-tool_use.jinja │ ├── Qwen-QwQ-32B.jinja │ ├── Qwen-Qwen2.5-7B-Instruct.jinja │ ├── Qwen-Qwen3-0.6B.jinja │ ├── Qwen3-Coder.jinja │ ├── Qwen3.5-4B.jinja │ ├── README.md │ ├── StepFun3.5-Flash.jinja │ ├── deepseek-ai-DeepSeek-R1-Distill-Llama-8B.jinja │ ├── deepseek-ai-DeepSeek-R1-Distill-Qwen-32B.jinja │ ├── deepseek-ai-DeepSeek-V3.1.jinja │ ├── fireworks-ai-llama-3-firefunction-v2.jinja │ ├── google-gemma-2-2b-it.jinja │ ├── ibm-granite-granite-3.3-2B-Instruct.jinja │ ├── llama-cpp-deepseek-r1.jinja │ ├── llama-cpp-rwkv-world.jinja │ ├── meetkai-functionary-medium-v3.1.jinja │ ├── meetkai-functionary-medium-v3.2.jinja │ ├── meta-llama-Llama-3.1-8B-Instruct.jinja │ ├── meta-llama-Llama-3.2-3B-Instruct.jinja │ ├── meta-llama-Llama-3.3-70B-Instruct.jinja │ ├── microsoft-Phi-3.5-mini-instruct.jinja │ ├── mistralai-Ministral-3-14B-Reasoning-2512.jinja │ ├── mistralai-Mistral-Nemo-Instruct-2407.jinja │ ├── moonshotai-Kimi-K2.jinja │ ├── openai-gpt-oss-120b.jinja │ ├── stepfun-ai-Step-3.5-Flash.jinja │ ├── unsloth-Apriel-1.5.jinja │ ├── unsloth-mistral-Devstral-Small-2507.jinja │ └── upstage-Solar-Open-100B.jinja ├── mypy.ini ├── pocs/ │ ├── CMakeLists.txt │ └── vdot/ │ ├── CMakeLists.txt │ ├── q8dot.cpp │ └── vdot.cpp ├── pyproject.toml ├── pyrightconfig.json ├── requirements/ │ ├── requirements-all.txt │ ├── requirements-compare-llama-bench.txt │ ├── requirements-convert_hf_to_gguf.txt │ ├── requirements-convert_hf_to_gguf_update.txt │ ├── requirements-convert_legacy_llama.txt │ ├── requirements-convert_llama_ggml_to_gguf.txt │ ├── requirements-convert_lora_to_gguf.txt │ ├── requirements-gguf_editor_gui.txt │ ├── requirements-pydantic.txt │ ├── requirements-server-bench.txt │ ├── requirements-test-tokenizer-random.txt │ └── requirements-tool_bench.txt ├── requirements.txt ├── scripts/ │ ├── apple/ │ │ ├── validate-apps.sh │ │ ├── validate-ios.sh │ │ ├── validate-macos.sh │ │ ├── validate-tvos.sh │ │ └── validate-visionos.sh │ ├── bench-models.sh │ ├── build-info.sh │ ├── check-requirements.sh │ ├── compare-commits.sh │ ├── compare-llama-bench.py │ ├── compare-logprobs.py │ ├── create_ops_docs.py │ ├── debug-test.sh │ ├── fetch_server_test_models.py │ ├── gen-authors.sh │ ├── gen-unicode-data.py │ ├── get-flags.mk │ ├── get-hellaswag.sh │ ├── get-pg.sh │ ├── get-wikitext-2.sh │ ├── get-winogrande.sh │ ├── get_chat_template.py │ ├── git-bisect-run.sh │ ├── git-bisect.sh │ ├── hf.sh │ ├── hip/ │ │ └── gcn-cdna-vgpr-check.py │ ├── install-oneapi.bat │ ├── jinja/ │ │ ├── jinja-tester.py │ │ └── requirements.txt │ ├── pr2wt.sh │ ├── serve-static.js │ ├── server-bench.py │ ├── server-test-function-call.py │ ├── server-test-model.py │ ├── snapdragon/ │ │ ├── adb/ │ │ │ ├── llama-cli.farf │ │ │ ├── run-bench.sh │ │ │ ├── run-cli.sh │ │ │ ├── run-completion.sh │ │ │ ├── run-mtmd.sh │ │ │ └── run-tool.sh │ │ ├── qdc/ │ │ │ ├── readme.md │ │ │ ├── requirements.txt │ │ │ └── tests/ │ │ │ └── test_bench.py │ │ └── windows/ │ │ ├── run-bench.ps1 │ │ ├── run-cli.ps1 │ │ ├── run-completion.ps1 │ │ ├── run-mtmd.ps1 │ │ ├── run-tool.ps1 │ │ └── setup-build.ps1 │ ├── sync-ggml-am.sh │ ├── sync-ggml.last │ ├── sync-ggml.sh │ ├── sync_vendor.py │ ├── tool_bench.py │ ├── tool_bench.sh │ ├── verify-checksum-models.py │ └── xxd.cmake ├── src/ │ ├── CMakeLists.txt │ ├── llama-adapter.cpp │ ├── llama-adapter.h │ ├── llama-arch.cpp │ ├── llama-arch.h │ ├── llama-batch.cpp │ ├── llama-batch.h │ ├── llama-chat.cpp │ ├── llama-chat.h │ ├── llama-context.cpp │ ├── llama-context.h │ ├── llama-cparams.cpp │ ├── llama-cparams.h │ ├── llama-ext.h │ ├── llama-grammar.cpp │ ├── llama-grammar.h │ ├── llama-graph.cpp │ ├── llama-graph.h │ ├── llama-hparams.cpp │ ├── llama-hparams.h │ ├── llama-impl.cpp │ ├── llama-impl.h │ ├── llama-io.cpp │ ├── llama-io.h │ ├── llama-kv-cache-iswa.cpp │ ├── llama-kv-cache-iswa.h │ ├── llama-kv-cache.cpp │ ├── llama-kv-cache.h │ ├── llama-kv-cells.h │ ├── llama-memory-hybrid-iswa.cpp │ ├── llama-memory-hybrid-iswa.h │ ├── llama-memory-hybrid.cpp │ ├── llama-memory-hybrid.h │ ├── llama-memory-recurrent.cpp │ ├── llama-memory-recurrent.h │ ├── llama-memory.cpp │ ├── llama-memory.h │ ├── llama-mmap.cpp │ ├── llama-mmap.h │ ├── llama-model-loader.cpp │ ├── llama-model-loader.h │ ├── llama-model-saver.cpp │ ├── llama-model-saver.h │ ├── llama-model.cpp │ ├── llama-model.h │ ├── llama-quant.cpp │ ├── llama-quant.h │ ├── llama-sampler.cpp │ ├── llama-sampler.h │ ├── llama-vocab.cpp │ ├── llama-vocab.h │ ├── llama.cpp │ ├── models/ │ │ ├── afmoe.cpp │ │ ├── apertus.cpp │ │ ├── arcee.cpp │ │ ├── arctic.cpp │ │ ├── arwkv7.cpp │ │ ├── baichuan.cpp │ │ ├── bailingmoe.cpp │ │ ├── bailingmoe2.cpp │ │ ├── bert.cpp │ │ ├── bitnet.cpp │ │ ├── bloom.cpp │ │ ├── chameleon.cpp │ │ ├── chatglm.cpp │ │ ├── codeshell.cpp │ │ ├── cogvlm.cpp │ │ ├── cohere2-iswa.cpp │ │ ├── command-r.cpp │ │ ├── dbrx.cpp │ │ ├── deci.cpp │ │ ├── deepseek.cpp │ │ ├── deepseek2.cpp │ │ ├── delta-net-base.cpp │ │ ├── dots1.cpp │ │ ├── dream.cpp │ │ ├── ernie4-5-moe.cpp │ │ ├── ernie4-5.cpp │ │ ├── eurobert.cpp │ │ ├── exaone-moe.cpp │ │ ├── exaone.cpp │ │ ├── exaone4.cpp │ │ ├── falcon-h1.cpp │ │ ├── falcon.cpp │ │ ├── gemma-embedding.cpp │ │ ├── gemma.cpp │ │ ├── gemma2-iswa.cpp │ │ ├── gemma3.cpp │ │ ├── gemma3n-iswa.cpp │ │ ├── glm4-moe.cpp │ │ ├── glm4.cpp │ │ ├── gpt2.cpp │ │ ├── gptneox.cpp │ │ ├── granite-hybrid.cpp │ │ ├── granite.cpp │ │ ├── grok.cpp │ │ ├── grovemoe.cpp │ │ ├── hunyuan-dense.cpp │ │ ├── hunyuan-moe.cpp │ │ ├── internlm2.cpp │ │ ├── jais.cpp │ │ ├── jais2.cpp │ │ ├── jamba.cpp │ │ ├── kimi-linear.cpp │ │ ├── lfm2.cpp │ │ ├── llada-moe.cpp │ │ ├── llada.cpp │ │ ├── llama-iswa.cpp │ │ ├── llama.cpp │ │ ├── maincoder.cpp │ │ ├── mamba-base.cpp │ │ ├── mamba.cpp │ │ ├── mimo2-iswa.cpp │ │ ├── minicpm3.cpp │ │ ├── minimax-m2.cpp │ │ ├── mistral3.cpp │ │ ├── models.h │ │ ├── modern-bert.cpp │ │ ├── mpt.cpp │ │ ├── nemotron-h.cpp │ │ ├── nemotron.cpp │ │ ├── neo-bert.cpp │ │ ├── olmo.cpp │ │ ├── olmo2.cpp │ │ ├── olmoe.cpp │ │ ├── openai-moe-iswa.cpp │ │ ├── openelm.cpp │ │ ├── orion.cpp │ │ ├── paddleocr.cpp │ │ ├── pangu-embedded.cpp │ │ ├── phi2.cpp │ │ ├── phi3.cpp │ │ ├── plamo.cpp │ │ ├── plamo2.cpp │ │ ├── plamo3.cpp │ │ ├── plm.cpp │ │ ├── qwen.cpp │ │ ├── qwen2.cpp │ │ ├── qwen2moe.cpp │ │ ├── qwen2vl.cpp │ │ ├── qwen3.cpp │ │ ├── qwen35.cpp │ │ ├── qwen35moe.cpp │ │ ├── qwen3moe.cpp │ │ ├── qwen3next.cpp │ │ ├── qwen3vl-moe.cpp │ │ ├── qwen3vl.cpp │ │ ├── refact.cpp │ │ ├── rnd1.cpp │ │ ├── rwkv6-base.cpp │ │ ├── rwkv6.cpp │ │ ├── rwkv6qwen2.cpp │ │ ├── rwkv7-base.cpp │ │ ├── rwkv7.cpp │ │ ├── seed-oss.cpp │ │ ├── smallthinker.cpp │ │ ├── smollm3.cpp │ │ ├── stablelm.cpp │ │ ├── starcoder.cpp │ │ ├── starcoder2.cpp │ │ ├── step35-iswa.cpp │ │ ├── t5-dec.cpp │ │ ├── t5-enc.cpp │ │ ├── wavtokenizer-dec.cpp │ │ └── xverse.cpp │ ├── unicode-data.cpp │ ├── unicode-data.h │ ├── unicode.cpp │ └── unicode.h ├── tests/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── export-graph-ops.cpp │ ├── get-model.cpp │ ├── get-model.h │ ├── gguf-model-data.cpp │ ├── gguf-model-data.h │ ├── peg-parser/ │ │ ├── simple-tokenize.cpp │ │ ├── simple-tokenize.h │ │ ├── test-basic.cpp │ │ ├── test-gbnf-generation.cpp │ │ ├── test-json-parser.cpp │ │ ├── test-json-serialization.cpp │ │ ├── test-python-dict-parser.cpp │ │ ├── test-unicode.cpp │ │ └── tests.h │ ├── run-json-schema-to-grammar.mjs │ ├── test-alloc.cpp │ ├── test-arg-parser.cpp │ ├── test-autorelease.cpp │ ├── test-backend-ops.cpp │ ├── test-backend-sampler.cpp │ ├── test-barrier.cpp │ ├── test-c.c │ ├── test-chat-auto-parser.cpp │ ├── test-chat-peg-parser.cpp │ ├── test-chat-template.cpp │ ├── test-chat.cpp │ ├── test-double-float.cpp │ ├── test-gbnf-validator.cpp │ ├── test-gguf-model-data.cpp │ ├── test-gguf.cpp │ ├── test-grammar-integration.cpp │ ├── test-grammar-llguidance.cpp │ ├── test-grammar-parser.cpp │ ├── test-jinja.cpp │ ├── test-json-partial.cpp │ ├── test-json-schema-to-grammar.cpp │ ├── test-llama-archs.cpp │ ├── test-llama-grammar.cpp │ ├── test-log.cpp │ ├── test-lora-conversion-inference.sh │ ├── test-model-load-cancel.cpp │ ├── test-mtmd-c-api.c │ ├── test-opt.cpp │ ├── test-peg-parser.cpp │ ├── test-quantize-fns.cpp │ ├── test-quantize-perf.cpp │ ├── test-quantize-stats.cpp │ ├── test-reasoning-budget.cpp │ ├── test-regex-partial.cpp │ ├── test-rope.cpp │ ├── test-sampling.cpp │ ├── test-state-restore-fragmented.cpp │ ├── test-thread-safety.cpp │ ├── test-tokenizer-0.cpp │ ├── test-tokenizer-0.py │ ├── test-tokenizer-0.sh │ ├── test-tokenizer-1-bpe.cpp │ ├── test-tokenizer-1-spm.cpp │ ├── test-tokenizer-random.py │ ├── test-tokenizers-repo.sh │ └── testing.h ├── tools/ │ ├── CMakeLists.txt │ ├── batched-bench/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── batched-bench.cpp │ ├── cli/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── cli.cpp │ ├── completion/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── completion.cpp │ ├── cvector-generator/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── completions.txt │ │ ├── cvector-generator.cpp │ │ ├── mean.hpp │ │ ├── negative.txt │ │ ├── pca.hpp │ │ └── positive.txt │ ├── export-lora/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── export-lora.cpp │ ├── fit-params/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── fit-params.cpp │ ├── gguf-split/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── gguf-split.cpp │ │ └── tests.sh │ ├── imatrix/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── imatrix.cpp │ ├── llama-bench/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── llama-bench.cpp │ ├── mtmd/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── clip-graph.h │ │ ├── clip-impl.h │ │ ├── clip-model.h │ │ ├── clip.cpp │ │ ├── clip.h │ │ ├── debug/ │ │ │ ├── mtmd-debug.cpp │ │ │ ├── mtmd-debug.h │ │ │ └── mtmd-debug.md │ │ ├── deprecation-warning.cpp │ │ ├── legacy-models/ │ │ │ ├── convert_image_encoder_to_gguf.py │ │ │ ├── glmedge-convert-image-encoder-to-gguf.py │ │ │ ├── glmedge-surgery.py │ │ │ ├── llava_surgery.py │ │ │ ├── llava_surgery_v2.py │ │ │ ├── minicpmv-convert-image-encoder-to-gguf.py │ │ │ └── minicpmv-surgery.py │ │ ├── models/ │ │ │ ├── cogvlm.cpp │ │ │ ├── conformer.cpp │ │ │ ├── deepseekocr.cpp │ │ │ ├── glm4v.cpp │ │ │ ├── internvl.cpp │ │ │ ├── kimik25.cpp │ │ │ ├── kimivl.cpp │ │ │ ├── llama4.cpp │ │ │ ├── llava.cpp │ │ │ ├── minicpmv.cpp │ │ │ ├── mobilenetv5.cpp │ │ │ ├── models.h │ │ │ ├── nemotron-v2-vl.cpp │ │ │ ├── paddleocr.cpp │ │ │ ├── pixtral.cpp │ │ │ ├── qwen2vl.cpp │ │ │ ├── qwen3vl.cpp │ │ │ ├── siglip.cpp │ │ │ ├── whisper-enc.cpp │ │ │ └── youtuvl.cpp │ │ ├── mtmd-audio.cpp │ │ ├── mtmd-audio.h │ │ ├── mtmd-cli.cpp │ │ ├── mtmd-helper.cpp │ │ ├── mtmd-helper.h │ │ ├── mtmd-image.cpp │ │ ├── mtmd-image.h │ │ ├── mtmd.cpp │ │ ├── mtmd.h │ │ ├── requirements.txt │ │ ├── tests/ │ │ │ ├── test-1-extracted.md │ │ │ ├── test-1-extracted.txt │ │ │ ├── test-deepseek-ocr.py │ │ │ └── tests-requirements.txt │ │ └── tests.sh │ ├── parser/ │ │ ├── CMakeLists.txt │ │ ├── debug-template-parser.cpp │ │ └── template-analysis.cpp │ ├── perplexity/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── perplexity.cpp │ ├── quantize/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── quantize.cpp │ │ └── tests.sh │ ├── results/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── results.cpp │ ├── rpc/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── rpc-server.cpp │ ├── server/ │ │ ├── CMakeLists.txt │ │ ├── README-dev.md │ │ ├── README.md │ │ ├── bench/ │ │ │ ├── README.md │ │ │ ├── bench.py │ │ │ ├── prometheus.yml │ │ │ ├── requirements.txt │ │ │ └── script.js │ │ ├── chat-llama2.sh │ │ ├── chat.mjs │ │ ├── chat.sh │ │ ├── public/ │ │ │ ├── bundle.css │ │ │ ├── bundle.js │ │ │ ├── index.html │ │ │ └── loading.html │ │ ├── public_legacy/ │ │ │ ├── colorthemes.css │ │ │ ├── completion.js │ │ │ ├── index-new.html │ │ │ ├── index.html │ │ │ ├── index.js │ │ │ ├── json-schema-to-grammar.mjs │ │ │ ├── loading.html │ │ │ ├── prompt-formats.js │ │ │ ├── style.css │ │ │ ├── system-prompts.js │ │ │ ├── theme-beeninorder.css │ │ │ ├── theme-ketivah.css │ │ │ ├── theme-mangotango.css │ │ │ ├── theme-playground.css │ │ │ ├── theme-polarnight.css │ │ │ └── theme-snowstorm.css │ │ ├── public_simplechat/ │ │ │ ├── datautils.mjs │ │ │ ├── index.html │ │ │ ├── readme.md │ │ │ ├── simplechat.css │ │ │ ├── simplechat.js │ │ │ └── ui.mjs │ │ ├── server-common.cpp │ │ ├── server-common.h │ │ ├── server-context.cpp │ │ ├── server-context.h │ │ ├── server-cors-proxy.h │ │ ├── server-http.cpp │ │ ├── server-http.h │ │ ├── server-models.cpp │ │ ├── server-models.h │ │ ├── server-queue.cpp │ │ ├── server-queue.h │ │ ├── server-task.cpp │ │ ├── server-task.h │ │ ├── server-tools.cpp │ │ ├── server-tools.h │ │ ├── server.cpp │ │ ├── tests/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── conftest.py │ │ │ ├── pytest.ini │ │ │ ├── requirements.txt │ │ │ ├── tests.sh │ │ │ ├── unit/ │ │ │ │ ├── test_basic.py │ │ │ │ ├── test_chat_completion.py │ │ │ │ ├── test_compat_anthropic.py │ │ │ │ ├── test_compat_oai_responses.py │ │ │ │ ├── test_completion.py │ │ │ │ ├── test_ctx_shift.py │ │ │ │ ├── test_embedding.py │ │ │ │ ├── test_infill.py │ │ │ │ ├── test_lora.py │ │ │ │ ├── test_proxy.py │ │ │ │ ├── test_rerank.py │ │ │ │ ├── test_router.py │ │ │ │ ├── test_security.py │ │ │ │ ├── test_sleep.py │ │ │ │ ├── test_slot_save.py │ │ │ │ ├── test_speculative.py │ │ │ │ ├── test_template.py │ │ │ │ ├── test_tokenize.py │ │ │ │ ├── test_tool_call.py │ │ │ │ └── test_vision_api.py │ │ │ └── utils.py │ │ ├── themes/ │ │ │ ├── README.md │ │ │ ├── buttons-top/ │ │ │ │ ├── README.md │ │ │ │ └── index.html │ │ │ └── wild/ │ │ │ ├── README.md │ │ │ └── index.html │ │ └── webui/ │ │ ├── .gitignore │ │ ├── .npmrc │ │ ├── .prettierignore │ │ ├── .prettierrc │ │ ├── .storybook/ │ │ │ ├── ModeWatcherDecorator.svelte │ │ │ ├── TooltipProviderDecorator.svelte │ │ │ ├── main.ts │ │ │ ├── preview.ts │ │ │ └── vitest.setup.ts │ │ ├── README.md │ │ ├── components.json │ │ ├── docs/ │ │ │ ├── architecture/ │ │ │ │ ├── high-level-architecture-simplified.md │ │ │ │ └── high-level-architecture.md │ │ │ └── flows/ │ │ │ ├── chat-flow.md │ │ │ ├── conversations-flow.md │ │ │ ├── data-flow-simplified-model-mode.md │ │ │ ├── data-flow-simplified-router-mode.md │ │ │ ├── database-flow.md │ │ │ ├── mcp-flow.md │ │ │ ├── models-flow.md │ │ │ ├── server-flow.md │ │ │ └── settings-flow.md │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── playwright.config.ts │ │ ├── scripts/ │ │ │ ├── dev.sh │ │ │ ├── install-git-hooks.sh │ │ │ └── post-build.sh │ │ ├── src/ │ │ │ ├── app.css │ │ │ ├── app.d.ts │ │ │ ├── app.html │ │ │ ├── lib/ │ │ │ │ ├── actions/ │ │ │ │ │ └── fade-in-view.svelte.ts │ │ │ │ ├── components/ │ │ │ │ │ ├── app/ │ │ │ │ │ │ ├── actions/ │ │ │ │ │ │ │ ├── ActionIcon.svelte │ │ │ │ │ │ │ ├── ActionIconCopyToClipboard.svelte │ │ │ │ │ │ │ ├── ActionIconRemove.svelte │ │ │ │ │ │ │ ├── ActionIconsCodeBlock.svelte │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── badges/ │ │ │ │ │ │ │ ├── BadgeChatStatistic.svelte │ │ │ │ │ │ │ ├── BadgeInfo.svelte │ │ │ │ │ │ │ ├── BadgeModality.svelte │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── chat/ │ │ │ │ │ │ │ ├── ChatAttachments/ │ │ │ │ │ │ │ │ ├── ChatAttachmentMcpPrompt.svelte │ │ │ │ │ │ │ │ ├── ChatAttachmentMcpResource.svelte │ │ │ │ │ │ │ │ ├── ChatAttachmentMcpResources.svelte │ │ │ │ │ │ │ │ ├── ChatAttachmentPreview.svelte │ │ │ │ │ │ │ │ ├── ChatAttachmentThumbnailFile.svelte │ │ │ │ │ │ │ │ ├── ChatAttachmentThumbnailImage.svelte │ │ │ │ │ │ │ │ ├── ChatAttachmentsList.svelte │ │ │ │ │ │ │ │ └── ChatAttachmentsViewAll.svelte │ │ │ │ │ │ │ ├── ChatForm/ │ │ │ │ │ │ │ │ ├── ChatForm.svelte │ │ │ │ │ │ │ │ ├── ChatFormActions/ │ │ │ │ │ │ │ │ │ ├── ChatFormActionAttachmentsDropdown.svelte │ │ │ │ │ │ │ │ │ ├── ChatFormActionAttachmentsSheet.svelte │ │ │ │ │ │ │ │ │ ├── ChatFormActionRecord.svelte │ │ │ │ │ │ │ │ │ ├── ChatFormActionSubmit.svelte │ │ │ │ │ │ │ │ │ └── ChatFormActions.svelte │ │ │ │ │ │ │ │ ├── ChatFormFileInputInvisible.svelte │ │ │ │ │ │ │ │ ├── ChatFormHelperText.svelte │ │ │ │ │ │ │ │ ├── ChatFormPicker/ │ │ │ │ │ │ │ │ │ ├── ChatFormPickerItemHeader.svelte │ │ │ │ │ │ │ │ │ ├── ChatFormPickerList.svelte │ │ │ │ │ │ │ │ │ ├── ChatFormPickerListItem.svelte │ │ │ │ │ │ │ │ │ └── ChatFormPickerListItemSkeleton.svelte │ │ │ │ │ │ │ │ ├── ChatFormPickerPopover.svelte │ │ │ │ │ │ │ │ ├── ChatFormPromptPicker/ │ │ │ │ │ │ │ │ │ ├── ChatFormPromptPicker.svelte │ │ │ │ │ │ │ │ │ ├── ChatFormPromptPickerArgumentForm.svelte │ │ │ │ │ │ │ │ │ └── ChatFormPromptPickerArgumentInput.svelte │ │ │ │ │ │ │ │ ├── ChatFormResourcePicker/ │ │ │ │ │ │ │ │ │ └── ChatFormResourcePicker.svelte │ │ │ │ │ │ │ │ └── ChatFormTextarea.svelte │ │ │ │ │ │ │ ├── ChatMessages/ │ │ │ │ │ │ │ │ ├── ChatMessage.svelte │ │ │ │ │ │ │ │ ├── ChatMessageActions.svelte │ │ │ │ │ │ │ │ ├── ChatMessageAgenticContent.svelte │ │ │ │ │ │ │ │ ├── ChatMessageAssistant.svelte │ │ │ │ │ │ │ │ ├── ChatMessageBranchingControls.svelte │ │ │ │ │ │ │ │ ├── ChatMessageEditForm.svelte │ │ │ │ │ │ │ │ ├── ChatMessageMcpPrompt.svelte │ │ │ │ │ │ │ │ ├── ChatMessageMcpPromptContent.svelte │ │ │ │ │ │ │ │ ├── ChatMessageStatistics.svelte │ │ │ │ │ │ │ │ ├── ChatMessageSystem.svelte │ │ │ │ │ │ │ │ ├── ChatMessageUser.svelte │ │ │ │ │ │ │ │ └── ChatMessages.svelte │ │ │ │ │ │ │ ├── ChatScreen/ │ │ │ │ │ │ │ │ ├── ChatScreen.svelte │ │ │ │ │ │ │ │ ├── ChatScreenDragOverlay.svelte │ │ │ │ │ │ │ │ ├── ChatScreenForm.svelte │ │ │ │ │ │ │ │ ├── ChatScreenHeader.svelte │ │ │ │ │ │ │ │ └── ChatScreenProcessingInfo.svelte │ │ │ │ │ │ │ ├── ChatSettings/ │ │ │ │ │ │ │ │ ├── ChatSettings.svelte │ │ │ │ │ │ │ │ ├── ChatSettingsFields.svelte │ │ │ │ │ │ │ │ ├── ChatSettingsFooter.svelte │ │ │ │ │ │ │ │ ├── ChatSettingsImportExportTab.svelte │ │ │ │ │ │ │ │ └── ChatSettingsParameterSourceIndicator.svelte │ │ │ │ │ │ │ ├── ChatSidebar/ │ │ │ │ │ │ │ │ ├── ChatSidebar.svelte │ │ │ │ │ │ │ │ ├── ChatSidebarActions.svelte │ │ │ │ │ │ │ │ ├── ChatSidebarConversationItem.svelte │ │ │ │ │ │ │ │ ├── ChatSidebarSearch.svelte │ │ │ │ │ │ │ │ └── handle-mobile-sidebar-item-click.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── content/ │ │ │ │ │ │ │ ├── CollapsibleContentBlock.svelte │ │ │ │ │ │ │ ├── MarkdownContent.svelte │ │ │ │ │ │ │ ├── SyntaxHighlightedCode.svelte │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── dialogs/ │ │ │ │ │ │ │ ├── DialogChatAttachmentPreview.svelte │ │ │ │ │ │ │ ├── DialogChatAttachmentsViewAll.svelte │ │ │ │ │ │ │ ├── DialogChatError.svelte │ │ │ │ │ │ │ ├── DialogChatSettings.svelte │ │ │ │ │ │ │ ├── DialogCodePreview.svelte │ │ │ │ │ │ │ ├── DialogConfirmation.svelte │ │ │ │ │ │ │ ├── DialogConversationSelection.svelte │ │ │ │ │ │ │ ├── DialogConversationTitleUpdate.svelte │ │ │ │ │ │ │ ├── DialogEmptyFileAlert.svelte │ │ │ │ │ │ │ ├── DialogMcpResourcePreview.svelte │ │ │ │ │ │ │ ├── DialogMcpResources.svelte │ │ │ │ │ │ │ ├── DialogMcpServersSettings.svelte │ │ │ │ │ │ │ ├── DialogModelInformation.svelte │ │ │ │ │ │ │ ├── DialogModelNotAvailable.svelte │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── forms/ │ │ │ │ │ │ │ ├── InputWithSuggestions.svelte │ │ │ │ │ │ │ ├── KeyValuePairs.svelte │ │ │ │ │ │ │ ├── SearchInput.svelte │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── mcp/ │ │ │ │ │ │ │ ├── McpActiveServersAvatars.svelte │ │ │ │ │ │ │ ├── McpCapabilitiesBadges.svelte │ │ │ │ │ │ │ ├── McpConnectionLogs.svelte │ │ │ │ │ │ │ ├── McpLogo.svelte │ │ │ │ │ │ │ ├── McpResourceBrowser/ │ │ │ │ │ │ │ │ ├── McpResourceBrowser.svelte │ │ │ │ │ │ │ │ ├── McpResourceBrowserEmptyState.svelte │ │ │ │ │ │ │ │ ├── McpResourceBrowserHeader.svelte │ │ │ │ │ │ │ │ ├── McpResourceBrowserServerItem.svelte │ │ │ │ │ │ │ │ └── mcp-resource-browser.ts │ │ │ │ │ │ │ ├── McpResourcePreview.svelte │ │ │ │ │ │ │ ├── McpResourceTemplateForm.svelte │ │ │ │ │ │ │ ├── McpServerCard/ │ │ │ │ │ │ │ │ ├── McpServerCard.svelte │ │ │ │ │ │ │ │ ├── McpServerCardActions.svelte │ │ │ │ │ │ │ │ ├── McpServerCardDeleteDialog.svelte │ │ │ │ │ │ │ │ ├── McpServerCardEditForm.svelte │ │ │ │ │ │ │ │ ├── McpServerCardHeader.svelte │ │ │ │ │ │ │ │ └── McpServerCardToolsList.svelte │ │ │ │ │ │ │ ├── McpServerCardSkeleton.svelte │ │ │ │ │ │ │ ├── McpServerForm.svelte │ │ │ │ │ │ │ ├── McpServerInfo.svelte │ │ │ │ │ │ │ ├── McpServersSelector.svelte │ │ │ │ │ │ │ ├── McpServersSettings.svelte │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── misc/ │ │ │ │ │ │ │ ├── ConversationSelection.svelte │ │ │ │ │ │ │ ├── HorizontalScrollCarousel.svelte │ │ │ │ │ │ │ ├── KeyboardShortcutInfo.svelte │ │ │ │ │ │ │ ├── TruncatedText.svelte │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── models/ │ │ │ │ │ │ │ ├── ModelBadge.svelte │ │ │ │ │ │ │ ├── ModelId.svelte │ │ │ │ │ │ │ ├── ModelsSelector.svelte │ │ │ │ │ │ │ ├── ModelsSelectorList.svelte │ │ │ │ │ │ │ ├── ModelsSelectorOption.svelte │ │ │ │ │ │ │ ├── ModelsSelectorSheet.svelte │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── navigation/ │ │ │ │ │ │ │ ├── DropdownMenuActions.svelte │ │ │ │ │ │ │ ├── DropdownMenuSearchable.svelte │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── server/ │ │ │ │ │ │ ├── ServerErrorSplash.svelte │ │ │ │ │ │ ├── ServerLoadingSplash.svelte │ │ │ │ │ │ ├── ServerStatus.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── ui/ │ │ │ │ │ ├── alert/ │ │ │ │ │ │ ├── alert-description.svelte │ │ │ │ │ │ ├── alert-title.svelte │ │ │ │ │ │ ├── alert.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── alert-dialog/ │ │ │ │ │ │ ├── alert-dialog-action.svelte │ │ │ │ │ │ ├── alert-dialog-cancel.svelte │ │ │ │ │ │ ├── alert-dialog-content.svelte │ │ │ │ │ │ ├── alert-dialog-description.svelte │ │ │ │ │ │ ├── alert-dialog-footer.svelte │ │ │ │ │ │ ├── alert-dialog-header.svelte │ │ │ │ │ │ ├── alert-dialog-overlay.svelte │ │ │ │ │ │ ├── alert-dialog-title.svelte │ │ │ │ │ │ ├── alert-dialog-trigger.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── badge/ │ │ │ │ │ │ ├── badge.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── button/ │ │ │ │ │ │ ├── button.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── card/ │ │ │ │ │ │ ├── card-action.svelte │ │ │ │ │ │ ├── card-content.svelte │ │ │ │ │ │ ├── card-description.svelte │ │ │ │ │ │ ├── card-footer.svelte │ │ │ │ │ │ ├── card-header.svelte │ │ │ │ │ │ ├── card-title.svelte │ │ │ │ │ │ ├── card.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── checkbox/ │ │ │ │ │ │ ├── checkbox.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── collapsible/ │ │ │ │ │ │ ├── collapsible-content.svelte │ │ │ │ │ │ ├── collapsible-trigger.svelte │ │ │ │ │ │ ├── collapsible.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── dialog/ │ │ │ │ │ │ ├── dialog-close.svelte │ │ │ │ │ │ ├── dialog-content.svelte │ │ │ │ │ │ ├── dialog-description.svelte │ │ │ │ │ │ ├── dialog-footer.svelte │ │ │ │ │ │ ├── dialog-header.svelte │ │ │ │ │ │ ├── dialog-overlay.svelte │ │ │ │ │ │ ├── dialog-title.svelte │ │ │ │ │ │ ├── dialog-trigger.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── dropdown-menu/ │ │ │ │ │ │ ├── dropdown-menu-checkbox-item.svelte │ │ │ │ │ │ ├── dropdown-menu-content.svelte │ │ │ │ │ │ ├── dropdown-menu-group-heading.svelte │ │ │ │ │ │ ├── dropdown-menu-group.svelte │ │ │ │ │ │ ├── dropdown-menu-item.svelte │ │ │ │ │ │ ├── dropdown-menu-label.svelte │ │ │ │ │ │ ├── dropdown-menu-radio-group.svelte │ │ │ │ │ │ ├── dropdown-menu-radio-item.svelte │ │ │ │ │ │ ├── dropdown-menu-separator.svelte │ │ │ │ │ │ ├── dropdown-menu-shortcut.svelte │ │ │ │ │ │ ├── dropdown-menu-sub-content.svelte │ │ │ │ │ │ ├── dropdown-menu-sub-trigger.svelte │ │ │ │ │ │ ├── dropdown-menu-trigger.svelte │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── input/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── input.svelte │ │ │ │ │ ├── label/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── label.svelte │ │ │ │ │ ├── popover/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── popover-close.svelte │ │ │ │ │ │ ├── popover-content.svelte │ │ │ │ │ │ ├── popover-portal.svelte │ │ │ │ │ │ ├── popover-trigger.svelte │ │ │ │ │ │ └── popover.svelte │ │ │ │ │ ├── scroll-area/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── scroll-area-scrollbar.svelte │ │ │ │ │ │ └── scroll-area.svelte │ │ │ │ │ ├── select/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── select-content.svelte │ │ │ │ │ │ ├── select-group-heading.svelte │ │ │ │ │ │ ├── select-group.svelte │ │ │ │ │ │ ├── select-item.svelte │ │ │ │ │ │ ├── select-label.svelte │ │ │ │ │ │ ├── select-scroll-down-button.svelte │ │ │ │ │ │ ├── select-scroll-up-button.svelte │ │ │ │ │ │ ├── select-separator.svelte │ │ │ │ │ │ └── select-trigger.svelte │ │ │ │ │ ├── separator/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── separator.svelte │ │ │ │ │ ├── sheet/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── sheet-close.svelte │ │ │ │ │ │ ├── sheet-content.svelte │ │ │ │ │ │ ├── sheet-description.svelte │ │ │ │ │ │ ├── sheet-footer.svelte │ │ │ │ │ │ ├── sheet-header.svelte │ │ │ │ │ │ ├── sheet-overlay.svelte │ │ │ │ │ │ ├── sheet-title.svelte │ │ │ │ │ │ └── sheet-trigger.svelte │ │ │ │ │ ├── sidebar/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── context.svelte.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── sidebar-content.svelte │ │ │ │ │ │ ├── sidebar-footer.svelte │ │ │ │ │ │ ├── sidebar-group-action.svelte │ │ │ │ │ │ ├── sidebar-group-content.svelte │ │ │ │ │ │ ├── sidebar-group-label.svelte │ │ │ │ │ │ ├── sidebar-group.svelte │ │ │ │ │ │ ├── sidebar-header.svelte │ │ │ │ │ │ ├── sidebar-input.svelte │ │ │ │ │ │ ├── sidebar-inset.svelte │ │ │ │ │ │ ├── sidebar-menu-action.svelte │ │ │ │ │ │ ├── sidebar-menu-badge.svelte │ │ │ │ │ │ ├── sidebar-menu-button.svelte │ │ │ │ │ │ ├── sidebar-menu-item.svelte │ │ │ │ │ │ ├── sidebar-menu-skeleton.svelte │ │ │ │ │ │ ├── sidebar-menu-sub-button.svelte │ │ │ │ │ │ ├── sidebar-menu-sub-item.svelte │ │ │ │ │ │ ├── sidebar-menu-sub.svelte │ │ │ │ │ │ ├── sidebar-menu.svelte │ │ │ │ │ │ ├── sidebar-provider.svelte │ │ │ │ │ │ ├── sidebar-rail.svelte │ │ │ │ │ │ ├── sidebar-separator.svelte │ │ │ │ │ │ ├── sidebar-trigger.svelte │ │ │ │ │ │ └── sidebar.svelte │ │ │ │ │ ├── skeleton/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── skeleton.svelte │ │ │ │ │ ├── switch/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── switch.svelte │ │ │ │ │ ├── table/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── table-body.svelte │ │ │ │ │ │ ├── table-caption.svelte │ │ │ │ │ │ ├── table-cell.svelte │ │ │ │ │ │ ├── table-footer.svelte │ │ │ │ │ │ ├── table-head.svelte │ │ │ │ │ │ ├── table-header.svelte │ │ │ │ │ │ ├── table-row.svelte │ │ │ │ │ │ └── table.svelte │ │ │ │ │ ├── textarea/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── textarea.svelte │ │ │ │ │ ├── tooltip/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── tooltip-content.svelte │ │ │ │ │ │ └── tooltip-trigger.svelte │ │ │ │ │ └── utils.ts │ │ │ │ ├── constants/ │ │ │ │ │ ├── agentic.ts │ │ │ │ │ ├── api-endpoints.ts │ │ │ │ │ ├── attachment-labels.ts │ │ │ │ │ ├── auto-scroll.ts │ │ │ │ │ ├── binary-detection.ts │ │ │ │ │ ├── cache.ts │ │ │ │ │ ├── chat-form.ts │ │ │ │ │ ├── code-blocks.ts │ │ │ │ │ ├── code.ts │ │ │ │ │ ├── context-keys.ts │ │ │ │ │ ├── css-classes.ts │ │ │ │ │ ├── favicon.ts │ │ │ │ │ ├── floating-ui-constraints.ts │ │ │ │ │ ├── formatters.ts │ │ │ │ │ ├── icons.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── key-value-pairs.ts │ │ │ │ │ ├── latex-protection.ts │ │ │ │ │ ├── literal-html.ts │ │ │ │ │ ├── localstorage-keys.ts │ │ │ │ │ ├── markdown.ts │ │ │ │ │ ├── max-bundle-size.ts │ │ │ │ │ ├── mcp-form.ts │ │ │ │ │ ├── mcp-resource.ts │ │ │ │ │ ├── mcp.ts │ │ │ │ │ ├── message-export.ts │ │ │ │ │ ├── model-id.ts │ │ │ │ │ ├── precision.ts │ │ │ │ │ ├── processing-info.ts │ │ │ │ │ ├── settings-config.ts │ │ │ │ │ ├── settings-fields.ts │ │ │ │ │ ├── settings-keys.ts │ │ │ │ │ ├── settings-sections.ts │ │ │ │ │ ├── supported-file-types.ts │ │ │ │ │ ├── table-html-restorer.ts │ │ │ │ │ ├── tooltip-config.ts │ │ │ │ │ ├── ui.ts │ │ │ │ │ ├── uri-template.ts │ │ │ │ │ └── viewport.ts │ │ │ │ ├── contexts/ │ │ │ │ │ ├── chat-actions.context.ts │ │ │ │ │ ├── chat-settings-dialog.context.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── message-edit.context.ts │ │ │ │ ├── enums/ │ │ │ │ │ ├── agentic.ts │ │ │ │ │ ├── attachment.ts │ │ │ │ │ ├── chat.ts │ │ │ │ │ ├── files.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── keyboard.ts │ │ │ │ │ ├── mcp.ts │ │ │ │ │ ├── model.ts │ │ │ │ │ ├── server.ts │ │ │ │ │ ├── settings.ts │ │ │ │ │ └── ui.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── is-mobile.svelte.ts │ │ │ │ │ ├── use-auto-scroll.svelte.ts │ │ │ │ │ └── use-processing-state.svelte.ts │ │ │ │ ├── markdown/ │ │ │ │ │ ├── enhance-code-blocks.ts │ │ │ │ │ ├── enhance-links.ts │ │ │ │ │ ├── literal-html.ts │ │ │ │ │ ├── resolve-attachment-images.ts │ │ │ │ │ └── table-html-restorer.ts │ │ │ │ ├── services/ │ │ │ │ │ ├── chat.service.ts │ │ │ │ │ ├── database.service.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── mcp.service.ts │ │ │ │ │ ├── models.service.ts │ │ │ │ │ ├── parameter-sync.service.spec.ts │ │ │ │ │ ├── parameter-sync.service.ts │ │ │ │ │ └── props.service.ts │ │ │ │ ├── stores/ │ │ │ │ │ ├── agentic.svelte.ts │ │ │ │ │ ├── chat.svelte.ts │ │ │ │ │ ├── conversations.svelte.ts │ │ │ │ │ ├── mcp-resources.svelte.ts │ │ │ │ │ ├── mcp.svelte.ts │ │ │ │ │ ├── models.svelte.ts │ │ │ │ │ ├── persisted.svelte.ts │ │ │ │ │ ├── server.svelte.ts │ │ │ │ │ └── settings.svelte.ts │ │ │ │ ├── types/ │ │ │ │ │ ├── agentic.d.ts │ │ │ │ │ ├── api.d.ts │ │ │ │ │ ├── chat.d.ts │ │ │ │ │ ├── common.d.ts │ │ │ │ │ ├── database.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── mcp.d.ts │ │ │ │ │ ├── models.d.ts │ │ │ │ │ └── settings.d.ts │ │ │ │ └── utils/ │ │ │ │ ├── abort.ts │ │ │ │ ├── agentic.ts │ │ │ │ ├── api-fetch.ts │ │ │ │ ├── api-headers.ts │ │ │ │ ├── api-key-validation.ts │ │ │ │ ├── attachment-display.ts │ │ │ │ ├── attachment-type.ts │ │ │ │ ├── audio-recording.ts │ │ │ │ ├── autoresize-textarea.ts │ │ │ │ ├── branching.ts │ │ │ │ ├── browser-only.ts │ │ │ │ ├── cache-ttl.ts │ │ │ │ ├── clipboard.ts │ │ │ │ ├── code.ts │ │ │ │ ├── config-helpers.ts │ │ │ │ ├── conversation-utils.ts │ │ │ │ ├── convert-files-to-extra.ts │ │ │ │ ├── cors-proxy.ts │ │ │ │ ├── data-url.ts │ │ │ │ ├── debounce.ts │ │ │ │ ├── favicon.ts │ │ │ │ ├── file-preview.ts │ │ │ │ ├── file-type.ts │ │ │ │ ├── formatters.ts │ │ │ │ ├── headers.ts │ │ │ │ ├── image-error-fallback.ts │ │ │ │ ├── index.ts │ │ │ │ ├── is-ime-composing.ts │ │ │ │ ├── latex-protection.ts │ │ │ │ ├── legacy-migration.ts │ │ │ │ ├── mcp.ts │ │ │ │ ├── modality-file-validation.ts │ │ │ │ ├── model-names.ts │ │ │ │ ├── pdf-processing.ts │ │ │ │ ├── portal-to-body.ts │ │ │ │ ├── precision.ts │ │ │ │ ├── process-uploaded-files.ts │ │ │ │ ├── sanitize.ts │ │ │ │ ├── svg-to-png.ts │ │ │ │ ├── syntax-highlight-language.ts │ │ │ │ ├── text-files.ts │ │ │ │ ├── text.ts │ │ │ │ ├── uri-template.ts │ │ │ │ ├── uuid.ts │ │ │ │ └── webp-to-png.ts │ │ │ ├── routes/ │ │ │ │ ├── +error.svelte │ │ │ │ ├── +layout.svelte │ │ │ │ ├── +page.svelte │ │ │ │ ├── +page.ts │ │ │ │ └── chat/ │ │ │ │ └── [id]/ │ │ │ │ ├── +page.svelte │ │ │ │ └── +page.ts │ │ │ └── styles/ │ │ │ └── katex-custom.scss │ │ ├── static/ │ │ │ └── loading.html │ │ ├── svelte.config.js │ │ ├── tests/ │ │ │ ├── client/ │ │ │ │ ├── components/ │ │ │ │ │ └── TestWrapper.svelte │ │ │ │ └── page.svelte.test.ts │ │ │ ├── e2e/ │ │ │ │ └── demo.test.ts │ │ │ ├── stories/ │ │ │ │ ├── ChatMessage.stories.svelte │ │ │ │ ├── ChatScreenForm.stories.svelte │ │ │ │ ├── ChatSettings.stories.svelte │ │ │ │ ├── ChatSidebar.stories.svelte │ │ │ │ ├── Introduction.mdx │ │ │ │ ├── MarkdownContent.stories.svelte │ │ │ │ └── fixtures/ │ │ │ │ ├── ai-tutorial.ts │ │ │ │ ├── api-docs.ts │ │ │ │ ├── blog-post.ts │ │ │ │ ├── data-analysis.ts │ │ │ │ ├── empty.ts │ │ │ │ ├── math-formulas.ts │ │ │ │ ├── readme.ts │ │ │ │ └── storybook-mocks.ts │ │ │ └── unit/ │ │ │ ├── agentic-sections.test.ts │ │ │ ├── agentic-strip.test.ts │ │ │ ├── clipboard.test.ts │ │ │ ├── latex-protection.test.ts │ │ │ ├── model-id-parser.test.ts │ │ │ ├── model-names.test.ts │ │ │ ├── reasoning-context.test.ts │ │ │ └── uri-template.test.ts │ │ ├── tsconfig.json │ │ ├── vite.config.ts │ │ └── vitest-setup-client.ts │ ├── tokenize/ │ │ ├── CMakeLists.txt │ │ └── tokenize.cpp │ └── tts/ │ ├── CMakeLists.txt │ ├── README.md │ ├── convert_pt_to_hf.py │ ├── tts-outetts.py │ └── tts.cpp ├── ty.toml └── vendor/ ├── cpp-httplib/ │ ├── CMakeLists.txt │ ├── LICENSE │ ├── httplib.cpp │ └── httplib.h ├── miniaudio/ │ └── miniaudio.h ├── nlohmann/ │ ├── json.hpp │ └── json_fwd.hpp ├── sheredom/ │ └── subprocess.h └── stb/ └── stb_image.h