]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/log
pkg/ggml/sources/llama.cpp
5 months agowebui: fix syntax highlighting lost after streaming for non-common languages (#21206)
Hamish M. Blair [Wed, 8 Apr 2026 06:58:08 +0000 (23:58 -0700)]
webui: fix syntax highlighting lost after streaming for non-common languages (#21206)

* webui: fix syntax highlighting lost for non-common languages after streaming

rehype-highlight uses lowlight internally, which only bundles 37 "common"
languages. The streaming code path uses highlight.js directly (192 languages),
so languages like Haskell highlight correctly while streaming but lose all
color once the code block closes. Pass the full lowlight language set to
rehype-highlight so both paths support the same languages.

* webui: rebuild static files after rebase

5 months agodevops: kleidiai: provide KleidiAI-Enabled ARM Release Artifact (#21259)
Martin Klacer [Wed, 8 Apr 2026 05:06:12 +0000 (06:06 +0100)]
devops: kleidiai: provide KleidiAI-Enabled ARM Release Artifact (#21259)

* Unified macOS release setup with strategy-matrix block
 * Added KleidiAI arm64 macOS release definition

Change-Id: I05520889ffc646488a178d06817a17f29274465a

Signed-off-by: Martin Klacer <redacted>
5 months agoCUDA: make cuda graphs props check faster (#21472)
Aman Gupta [Wed, 8 Apr 2026 01:05:51 +0000 (09:05 +0800)]
CUDA: make cuda graphs props check faster (#21472)

* CUDA: compute fast hash instead of expensive props check

* use seen node

* use memcp

5 months agoggml-cuda: ds_read_b128 for q4_0 and q4_1 mmq kernels (#21168)
iacopPBK [Tue, 7 Apr 2026 19:47:42 +0000 (21:47 +0200)]
ggml-cuda: ds_read_b128 for q4_0 and q4_1 mmq kernels (#21168)

* ds_read_b128 for q4_0 and q4_1 mmq kernels

     Current for loop generates ds_read_b32 instructions with hip compiler, the new solution generates ds_read_b128 instructions for the same operation, saving some LDS bandwidth. Tested on MI50 and RX6800XT, its faster on both.

* Vectorized lds load update: used ggml_cuda_get_max_cpy_bytes and ggml_cuda_memcpy_1 functions for generic implementation

* Explicit for loop in mmq, renamed vec into tmp

* Fixed max_cpy usage in the loading loop

* Fixed typo in q4_1 kernel

* Update ggml/src/ggml-cuda/mmq.cuh

Co-authored-by: Johannes Gäßler <redacted>
* Update ggml/src/ggml-cuda/mmq.cuh

Co-authored-by: Johannes Gäßler <redacted>
* Update ggml/src/ggml-cuda/mmq.cuh

Co-authored-by: Johannes Gäßler <redacted>
* Renoved trailing white line 500

* Update mmq.cuh removed other whitelines

* Remove trailing whitespaces

---------

Co-authored-by: iacopPBK <redacted>
Co-authored-by: Johannes Gäßler <redacted>
Co-authored-by: iacopPBK <redacted>
5 months agogguf-py : fix missing comma after bad merge in tensor-mapping (#21558)
Daniel Bevenius [Tue, 7 Apr 2026 19:24:25 +0000 (21:24 +0200)]
gguf-py : fix missing comma after bad merge in tensor-mapping (#21558)

This commit adds a missing comma in the vision encoder attention qkv
block.

The motivation for this change is that without the comma there will be
a string concatenation of the Kimi-K2.5 and the Nemotron Nano v2 VL
tensor mappings which will be broken.

5 months agokv-cache : support attention rotation for heterogeneous iSWA (#21513)
Georgi Gerganov [Tue, 7 Apr 2026 17:31:28 +0000 (20:31 +0300)]
kv-cache : support attention rotation for heterogeneous iSWA (#21513)

* kv-cache : support attention rotation for heterogeneous iSWA

* cont : remove assert

5 months agoggml-webgpu: parameterize submission size and add iOS specific limits (#21533)
Reese Levine [Tue, 7 Apr 2026 17:30:01 +0000 (10:30 -0700)]
ggml-webgpu: parameterize submission size and add iOS specific limits (#21533)

* Work towards removing bitcast

* Move rest of existing types over

* Add timeout back to wait and remove synchronous set_tensor/memset_tensor

* move to unpackf16 for wider compatibility

* cleanup

* Remove deadlock condition in free_bufs

* Start work on removing parameter buffer pools

* Simplify and optimize further

* simplify profile futures

* Fix stride

* Try using a single command buffer per batch

* formatting

* Add parameters for different browsers in-flight submissions

* Update handling of batch size too

* Throttle ios as much as possible

* Increase timeout for llvm-pipe testing

5 months agoCUDA: check for buffer overlap before fusing (#21566)
Aman Gupta [Tue, 7 Apr 2026 16:57:04 +0000 (00:57 +0800)]
CUDA: check for buffer overlap before fusing (#21566)

* CUDA: check for buffer overlap before fusing

* use ggml_cuda_check_fusion_memory_ranges

5 months agollama-server: fix model params not propagated (#21509)
Aaron Teo [Tue, 7 Apr 2026 13:39:41 +0000 (21:39 +0800)]
llama-server: fix model params not propagated (#21509)

Signed-off-by: Aaron Teo <redacted>
5 months agounicode : add custom Qwen2 regex handler to fix segfault on long input (#21257)
Son H. Nguyen [Tue, 7 Apr 2026 13:13:38 +0000 (22:13 +0900)]
unicode : add custom Qwen2 regex handler to fix segfault on long input (#21257)

* unicode : add custom Qwen2 regex handler to fix segfault on long input

std::regex uses recursive backtracking internally, which causes a stack
overflow (segfault) when tokenizing long sequences of repeated characters
(e.g. 43K 'A's). The Qwen2 tokenizer regex differs from Llama3 only in
the digit pattern (\p{N} vs \p{N}{1,3}), so it was falling through to
the std::regex fallback path instead of using a custom handler.

Add unicode_regex_split_custom_qwen2() following the established pattern
used by gpt2, llama3, kimi_k2, and afmoe custom handlers.

Closes: https://github.com/ggml-org/llama.cpp/issues/21113
* cont : remove TODO comment

* cont : update comment to reflect original regex

* use the correct regex in the comment this time... [no ci]

---------

Co-authored-by: Aldehir Rojas <redacted>
5 months agollama: remove per-arch tensor name lists (#21531)
Johannes Gäßler [Tue, 7 Apr 2026 13:02:03 +0000 (15:02 +0200)]
llama: remove per-arch tensor name lists (#21531)

5 months agoserver : fix restore for checkpoints with pos_min == 0 (#21510)
Georgi Gerganov [Tue, 7 Apr 2026 12:29:17 +0000 (15:29 +0300)]
server : fix restore for checkpoints with pos_min == 0 (#21510)

5 months agoggml : deprecate GGML_OP_ADD1 (#21363)
Georgi Gerganov [Tue, 7 Apr 2026 12:28:27 +0000 (15:28 +0300)]
ggml : deprecate GGML_OP_ADD1 (#21363)

* ggml : deprecate GGML_OP_ADD1

* cont : remove tests

* cont : re-enable vulkan check

5 months agoggml: Vulkan build, Linux -- output error string for errno on fork failure (#20868...
Tom Overlund [Tue, 7 Apr 2026 11:54:55 +0000 (07:54 -0400)]
ggml: Vulkan build, Linux -- output error string for errno on fork failure (#20868) (#20904)

5 months agovulkan: add FA dequant for q4_1, q5_0, q5_1, iq4_nl (#21029)
mkoker [Tue, 7 Apr 2026 11:41:29 +0000 (07:41 -0400)]
vulkan: add FA dequant for q4_1, q5_0, q5_1, iq4_nl (#21029)

Add dequantize4() implementations for Q4_1, Q5_0, Q5_1, and IQ4_NL
in the flash attention base shader. Register them in the shader
generator, pipeline creation, and enable in the scalar/coopmat1 FA
support check.

5 months agowebui : store reasoning_content so it is sent back in subsequent requests (#21249)
Aldehir Rojas [Tue, 7 Apr 2026 11:32:44 +0000 (06:32 -0500)]
webui : store reasoning_content so it is sent back in subsequent requests (#21249)

5 months agoggml-cuda : fix CDNA2 compute capability constant for gfx90a (MI210) (#21519)
Antoine Viallon [Tue, 7 Apr 2026 10:18:55 +0000 (12:18 +0200)]
ggml-cuda : fix CDNA2 compute capability constant for gfx90a (MI210) (#21519)

GGML_CUDA_CC_CDNA2 was set to 0x910
Fix by setting the constant to 0x90a to match the actual gfx90a ISA.

5 months agofix: Detect streaming state in reasoning content blocks (#21549)
Aleksander Grygier [Tue, 7 Apr 2026 10:04:41 +0000 (12:04 +0200)]
fix: Detect streaming state in reasoning content blocks (#21549)

5 months agoFix rtl text rendering (#21382)
Kabir08 [Tue, 7 Apr 2026 09:37:20 +0000 (15:07 +0530)]
Fix rtl text rendering (#21382)

* Fix Arabic RTL text rendering in web UI

- Add dir='auto' attributes to markdown containers and blocks
- Implement post-processing to add dir='auto' to all text elements
- Replace directional CSS properties with logical properties for proper RTL list alignment
- Ensure bidirectional text support for mixed Arabic/English content

* Clean up commented duplicate function

Remove the commented-out duplicate transformMdastNode function
that was left over from refactoring.

* Fix Arabic RTL text rendering in web UI

- Add dir='auto' attributes to markdown containers and blocks
- Implement post-processing to add dir='auto' to all text elements
- Replace directional CSS properties with logical properties for proper RTL list alignment
- Minor code formatting improvements

This ensures bidirectional text support for mixed Arabic/English content in the llama.cpp web UI.

* Implement rehype plugin for comprehensive RTL text support

- Add rehypeRtlSupport plugin that applies dir='auto' to all elements with children
- Replace DOMParser-based approach with efficient HAST tree processing
- Remove hardcoded element lists for better maintainability
- Ensure proper bidirectional text rendering for mixed RTL/LTR content

* Fix RTL text rendering with rehype plugin and cleanup

* fix: prettier formatting

5 months ago[SYCL] Add Q8_0 reorder optimization (~3x tg speedup on Intel Arc) (#21527)
PMZFX [Tue, 7 Apr 2026 08:12:49 +0000 (04:12 -0400)]
[SYCL] Add Q8_0 reorder optimization (~3x tg speedup on Intel Arc) (#21527)

Extend the existing reorder optimization to Q8_0. The reorder
separates scale factors from weight data for coalesced memory
access -- was implemented for Q4_0/Q4_K/Q6_K but Q8_0 was missing.

On Arc Pro B70 (Xe2), Q8_0 tg goes from 4.88 to 15.24 t/s (3.1x)
on Qwen3.5-27B. BW utilization: 21% -> 66%.

The key fix beyond the kernels: Q8_0 was missing from the type
check in ggml_backend_sycl_buffer_init_tensor() that allocates
the extra struct carrying the reorder flag -- so the optimization
was silently skipped.

AI (Claude) was used to assist with root cause investigation and
writing the kernel code. All code was human-reviewed and tested
on real hardware.

Fixes: #21517
5 months agodocs: fix typo in build.md (emdawbwebgpu -> emdawnwebgpu) (#21518)
Dmytro Romanov [Tue, 7 Apr 2026 04:37:26 +0000 (06:37 +0200)]
docs: fix typo in build.md (emdawbwebgpu -> emdawnwebgpu) (#21518)

5 months agoggml-webgpu: Add the support of `MUL_MAT_ID` (#21147)
Masashi Yoshimura [Mon, 6 Apr 2026 20:08:46 +0000 (05:08 +0900)]
ggml-webgpu: Add the support of `MUL_MAT_ID` (#21147)

* Add mul_mat_id support to WebGPU

* Apply suggestion from @reeselevine

---------

Co-authored-by: Reese Levine <redacted>
5 months agoggml: add Q1_0 1-bit quantization support (CPU) (#21273)
Pasha Khosravi [Mon, 6 Apr 2026 18:55:21 +0000 (11:55 -0700)]
ggml: add Q1_0 1-bit quantization support (CPU) (#21273)

* ggml: add Q1_0 and Q1_0_g128 1-bit quantization support (CPU)

* add generic fallback for x86

* remove Q1_0 (group size 32)

* rename Q1_0_g128 => Q1_0

* fix Q1_0 LlamaFileType Enum

* Fix trailing spaces; add generic fallback for othre backends

* Apply suggestions from code review

Co-authored-by: Sigbjørn Skjæret <redacted>
* fix /r/n spacing + arch-fallback

---------

Co-authored-by: Sigbjørn Skjæret <redacted>
5 months agocli: fix stripping of \n in multiline input (#21485) upstream/0.0.8681
Bipin Yadav [Mon, 6 Apr 2026 18:54:06 +0000 (00:24 +0530)]
cli: fix stripping of \n in multiline input (#21485)

* llama-cli: fix stripping of \n in multiline input

* Change & string to string_view

* Apply suggestions from code review

Co-authored-by: Sigbjørn Skjæret <redacted>
* Fix EditorConfig linter error

---------

Co-authored-by: Sigbjørn Skjæret <redacted>
5 months ago[CUDA ] Write an optimized flash_attn_stream_k_fixup kernel (#21159)
Gaurav Garg [Mon, 6 Apr 2026 18:34:29 +0000 (00:04 +0530)]
[CUDA ] Write an optimized flash_attn_stream_k_fixup kernel (#21159)

* Write an optimized flash_attn_stream_k_fixup kernel

Write a specialized and more optimized kernel for cases where nblocks_stream_k is multiple of ntiles_dst.
Make nblocks_stream_k to multiple of ntiles_dst if nblocks_stream_k > 2 * ntiles_dst

* Use the new kernel only for nblocks_stream_k_raw > 4 * ntiles_dst to make sure we have enough concurrency on GPUs

* Address review comments

* Address review comments

* Revert variable names to original

5 months agollama-bench: add `-fitc` and `-fitt` to arguments (#21304)
Aman Gupta [Mon, 6 Apr 2026 14:26:02 +0000 (22:26 +0800)]
llama-bench: add `-fitc` and `-fitt` to arguments (#21304)

* llama-bench: add `-fitc` and `-fitt` to arguments

* update README.md

* address review comments

* update compare-llama-bench.py

5 months agovocab : add byte token handling to BPE detokenizer for Gemma4 (#21488)
Aldehir Rojas [Mon, 6 Apr 2026 14:08:37 +0000 (09:08 -0500)]
vocab : add byte token handling to BPE detokenizer for Gemma4 (#21488)

5 months agoconvert : fix block_ff_dim retrieval for lfm2 (#21508)
Sigbjørn Skjæret [Mon, 6 Apr 2026 12:05:18 +0000 (14:05 +0200)]
convert : fix block_ff_dim retrieval for lfm2 (#21508)

5 months agoserver : handle unsuccessful sink.write in chunked stream provider (#21478)
lainon1 [Mon, 6 Apr 2026 12:03:02 +0000 (13:03 +0100)]
server : handle unsuccessful sink.write in chunked stream provider (#21478)

Check the return value of sink.write() in the chunked content provider
and return false when the write fails, matching cpp-httplib's own
streaming contract. This prevents logging chunks as sent when the sink
rejected them and properly aborts the stream on connection failure.

5 months agodocs: add hunyuan-ocr gguf, also add test [no ci] (#21490)
Xuan-Son Nguyen [Mon, 6 Apr 2026 12:02:37 +0000 (14:02 +0200)]
docs: add hunyuan-ocr gguf, also add test [no ci] (#21490)

5 months agoconvert : set "add bos" == True for Gemma 4 (#21500)
Georgi Gerganov [Mon, 6 Apr 2026 10:52:07 +0000 (13:52 +0300)]
convert : set "add bos" == True for Gemma 4 (#21500)

* convert : set "add bos" == True for Gemma 4

* cont : handle old GGUFs

5 months agosycl : handle other FA case (#21377)
Neo Zhang [Mon, 6 Apr 2026 10:28:00 +0000 (18:28 +0800)]
sycl : handle other FA case (#21377)

5 months agohexagon: slight optimization for argosrt output init (#21463)
Yarden Tal [Mon, 6 Apr 2026 01:30:25 +0000 (04:30 +0300)]
hexagon: slight optimization for argosrt output init (#21463)

5 months agollama : correct platform-independent loading of BOOL metadata (#21428)
anchortense [Sun, 5 Apr 2026 23:40:38 +0000 (09:40 +1000)]
llama : correct platform-independent loading of BOOL metadata (#21428)

* model-loader : fix GGUF bool array conversion

* model-loader : fix remaining GGUF bool pointer uses

5 months agomodel : add HunyuanOCR support (#21395)
Richard Davison [Sun, 5 Apr 2026 21:32:14 +0000 (23:32 +0200)]
model : add HunyuanOCR support (#21395)

* HunyuanOCR: add support for text and vision models

- Add HunyuanOCR vision projector (perceiver-based) with Conv2d merge
- Add separate HUNYUAN_OCR chat template (content-before-role format)
- Handle HunyuanOCR's invalid pad_token_id=-1 in converter
- Fix EOS/EOT token IDs from generation_config.json
- Support xdrope RoPE scaling type
- Add tensor mappings for perceiver projector (mm.before_rms, mm.after_rms, etc.)
- Register HunYuanVLForConditionalGeneration for both text and mmproj conversion

* fix proper mapping

* Update gguf-py/gguf/tensor_mapping.py

Co-authored-by: Xuan-Son Nguyen <redacted>
* Update tools/mtmd/clip.cpp

Co-authored-by: Xuan-Son Nguyen <redacted>
* address comments

* update

* Fix typecheck

* Update convert_hf_to_gguf.py

Co-authored-by: Sigbjørn Skjæret <redacted>
* Update convert_hf_to_gguf.py

Co-authored-by: Sigbjørn Skjæret <redacted>
* Update convert_hf_to_gguf.py

Co-authored-by: Sigbjørn Skjæret <redacted>
* Update convert_hf_to_gguf.py

Co-authored-by: Sigbjørn Skjæret <redacted>
---------

Co-authored-by: Xuan-Son Nguyen <redacted>
Co-authored-by: Sigbjørn Skjæret <redacted>
5 months agoci : use default RISE RISC-V Runners (#21263)
Ludovic Henry [Sun, 5 Apr 2026 18:29:48 +0000 (20:29 +0200)]
ci : use default RISE RISC-V Runners (#21263)

5 months agoserver : fix logging of build + system info (#21460)
ddh0 [Sun, 5 Apr 2026 14:14:02 +0000 (09:14 -0500)]
server : fix logging of build + system info (#21460)

This PR changes the logging that occurs at startup of llama-server.
Currently, it is redundant (including CPU information twice) and it is
missing the build + commit info.

5 months agoci: lower cuda12 floor to 12.8.1 for broader host compatibility (#21438)
M1DNYT3 [Sun, 5 Apr 2026 01:04:00 +0000 (04:04 +0300)]
ci: lower cuda12 floor to 12.8.1 for broader host compatibility (#21438)

Co-authored-by: M1DNYT3 <redacted>
5 months agoci: fix vulkan workflow referencing non-existent action (#21442)
Nicholas Sparks [Sun, 5 Apr 2026 00:59:51 +0000 (20:59 -0400)]
ci: fix vulkan workflow referencing non-existent action (#21442)

5 months agocommon : add gemma 4 specialized parser (#21418)
Aldehir Rojas [Sat, 4 Apr 2026 18:39:00 +0000 (13:39 -0500)]
common : add gemma 4 specialized parser (#21418)

* common : add gemma4 dedicated parser

* cont : add '<|tool_response>' as eog

* cont : emit JSON from Gemma4 tool call AST

* cont : more fixes

* cont : refactor convert function

* cont : refine rules and mapping

* cont : add more tests

* cont : clean up

* cont : remove autoparser gemma4 implementation

* cont : more cleanup

* cont : rename gemma4.jinja to match the others

* cont : add custom template to support interleaved thinking

* cont : preserve reasoning in model turns

* cont : fix initializer error

* cont : fix unused vars

* cont : fix accidental static

* cont : fix specialized_template signature

* fix extra semicolon

* remove debug line and extra space [no ci]

5 months agoserver: Fix undefined timing measurement errors in server context (#21201)
Dan Hoffman [Sat, 4 Apr 2026 14:11:19 +0000 (07:11 -0700)]
server: Fix undefined timing measurement errors in server context (#21201)

Co-authored-by: Dan Hoffman <redacted>
5 months agocommon : respect specified tag, only fallback when tag is empty (#21413)
Adrien Gallouët [Sat, 4 Apr 2026 13:08:03 +0000 (15:08 +0200)]
common : respect specified tag, only fallback when tag is empty (#21413)

Signed-off-by: Adrien Gallouët <redacted>
5 months agollama-model: read final_logit_softcapping for Gemma 4 (#21390)
SamareshSingh [Sat, 4 Apr 2026 11:05:10 +0000 (06:05 -0500)]
llama-model: read final_logit_softcapping for Gemma 4 (#21390)

5 months agollama: add custom newline split for Gemma 4 (#21406)
Aman Gupta [Sat, 4 Apr 2026 07:06:34 +0000 (15:06 +0800)]
llama: add custom newline split for Gemma 4 (#21406)

5 months agoggml-webgpu: move from parameter buffer pool to single buffer with offsets (#21278)
Reese Levine [Fri, 3 Apr 2026 18:40:14 +0000 (11:40 -0700)]
ggml-webgpu: move from parameter buffer pool to single buffer with offsets (#21278)

* Work towards removing bitcast

* Move rest of existing types over

* Add timeout back to wait and remove synchronous set_tensor/memset_tensor

* move to unpackf16 for wider compatibility

* cleanup

* Remove deadlock condition in free_bufs

* Start work on removing parameter buffer pools

* Simplify and optimize further

* simplify profile futures

* Fix stride

* Try using a single command buffer per batch

* formatting

5 months agoci: Add Windows Vulkan backend testing on Intel (#21292)
Masato Nakasaka [Fri, 3 Apr 2026 17:16:44 +0000 (02:16 +0900)]
ci: Add Windows Vulkan backend testing on Intel (#21292)

* experimenting CI

* Experimenting CI fix for MinGW

* experimenting CI on Windows

* modified script for integration with VisualStudio

* added proxy handling

* adding python version for Windows execution

* fix iterator::end() dereference

* fixed proxy handling

* Fix errors occurring on Windows

* fixed ci script

* Reverted to master

* Stripping test items to simplify Windows test

* adjusting script for windows testing

* Changed shell

* Fixed shell

* Fixed shell

* Fix CI setting

* Fix CI setting

* Fix CI setting

* Experimenting ci fix

* Experimenting ci fix

* Experimenting ci fix

* Experimenting ci fix

* experimenting fix for unit test error

* Changed to use BUILD_LOW_PERF to skip python tests

* Fix CI

* Added option to specify Ninja generator

* Reverted proxy related changes

5 months agoserver: save and clear idle slots on new task (`--clear-idle`) (#20993)
Yes You Can Have Your Own [Fri, 3 Apr 2026 17:02:27 +0000 (20:02 +0300)]
server: save and clear idle slots on new task (`--clear-idle`) (#20993)

* server: clear idle slots KV from VRAM (LLAMA_KV_KEEP_ONLY_ACTIVE)

* server: move idle slot KV clearing to slot release

The save "cost" is now paid by the finishing request.

* server: add --kv-clear-idle flag, enable by default

* server: skip clearing last idle slot, clear on launch

* server: test --no-kv-clear-idle flag

* server: simplify on-release clearing loop

* server: remove on-release KV clearing, keep launch-only

* cont : clean-up

* tests: update log strings after --clear-idle rename

* tests: use debug tags instead of log message matching

* test: fix Windows CI by dropping temp log file unlink

---------

Co-authored-by: Georgi Gerganov <redacted>
5 months agocommon/parser: fix call ID detection (Mistral parser mostly) + atomicity for tag...
Piotr Wilkin (ilintar) [Fri, 3 Apr 2026 15:51:52 +0000 (17:51 +0200)]
common/parser: fix call ID detection (Mistral parser mostly) + atomicity for tag-json parsers (#21230)

* Fix call ID detection (Mistral parser mostly) + atomicity for tag-json parsers

* Rename

* Update common/chat-auto-parser-generator.cpp

Co-authored-by: Sigbjørn Skjæret <redacted>
---------

Co-authored-by: Sigbjørn Skjæret <redacted>
5 months agocommon : fix tool call type detection for nullable and enum schemas (#21327)
Samanvya Tripathi [Fri, 3 Apr 2026 15:51:23 +0000 (11:51 -0400)]
common : fix tool call type detection for nullable and enum schemas (#21327)

* common : fix tool call type detection for nullable and enum schemas

* common, tests : fix grammar delegation for nullable/enum schemas and add tests

Fix enum type inference to scan all enum values (not just index 0) so
schemas like {"enum": [0, "celsius"]} correctly detect string type.

Fix schema_delegates in peg-parser to handle nullable type arrays
(["string", "null"]) and typeless enum schemas in raw mode, allowing
the tagged parser to use raw text instead of JSON-formatted strings.

Add test cases for Qwen3-Coder (TAG_WITH_TAGGED format):
- nullable string ["string", "null"]
- nullable string with null first ["null", "string"]
- nullable integer ["integer", "null"]
- enum without explicit type key

5 months agodocker : bump cuda12 to 12.9.1 (#20920)
M1DNYT3 [Fri, 3 Apr 2026 13:06:45 +0000 (16:06 +0300)]
docker : bump cuda12 to 12.9.1 (#20920)

Co-authored-by: M1DNYT3 <redacted>
Co-authored-by: CISC <redacted>
5 months agodocs: Update build.md: HSA_OVERRIDE_GFX_VERSION clarification (#21331)
jeromew [Fri, 3 Apr 2026 13:05:14 +0000 (15:05 +0200)]
docs: Update build.md: HSA_OVERRIDE_GFX_VERSION clarification (#21331)

The `HSA_OVERRIDE_GFX_VERSION` variable can be used in ROCm to override an unsupported target architecture with a similar but supported target architecture.

This does not and has never worked on Windows. I think the clarification could avoid driving Windows people towards this solution that does not work.

5 months agojinja: coerce input for string-specific filters (#21370)
Sigbjørn Skjæret [Fri, 3 Apr 2026 13:03:33 +0000 (15:03 +0200)]
jinja: coerce input for string-specific filters (#21370)

5 months agoci: add more binary checks (#21349)
Aaron Teo [Fri, 3 Apr 2026 12:50:00 +0000 (20:50 +0800)]
ci: add more binary checks (#21349)

5 months agofix: remove stale assert (#21369)
Piotr Wilkin (ilintar) [Fri, 3 Apr 2026 11:40:41 +0000 (13:40 +0200)]
fix: remove stale assert (#21369)

5 months agoHIP: build eatch ci build test for a different architecture (#21337)
uvos [Fri, 3 Apr 2026 09:38:22 +0000 (11:38 +0200)]
HIP: build eatch ci build test for a different architecture (#21337)

This helps improve our chances of finding build failures before the release workflow
builds for all architectures.

5 months agofix: add openssl to nix dependencies (#21353) (#21355)
Tillerino [Fri, 3 Apr 2026 09:21:07 +0000 (11:21 +0200)]
fix: add openssl to nix dependencies (#21353) (#21355)

5 months agoggml-zendnn : add MUL_MAT_ID op support for MoE models (#21315)
Vishal Singh [Fri, 3 Apr 2026 09:19:08 +0000 (14:49 +0530)]
ggml-zendnn : add MUL_MAT_ID op support for MoE models (#21315)

* ggml-zendnn : add MUL_MAT_ID op support for MoE models
- Add MUL_MAT_ID op acceleration for Mixture-of-Experts models
- MUL_MAT_ID op fallback to CPU backend if total experts > 32
- Point ZenDNN lib to latest bits ZenDNN-2026-WW13

* ggml-zendnn : add braces to sgemm failure condition for consistency

Co-authored-by: Aaron Teo <redacted>
---------

Co-authored-by: Aaron Teo <redacted>
5 months agovocab: fix Gemma4 tokenizer (#21343)
Piotr Wilkin (ilintar) [Fri, 3 Apr 2026 08:33:03 +0000 (10:33 +0200)]
vocab: fix Gemma4 tokenizer (#21343)

* seems to work

* fix case with new line

Co-authored-by: sayap <redacted>
* gemma 4: fix pre tok regex

---------

Co-authored-by: Xuan Son Nguyen <redacted>
Co-authored-by: sayap <redacted>
5 months agorpc : reuse compute graph buffers (#21299)
Radoslav Gerganov [Fri, 3 Apr 2026 07:28:09 +0000 (10:28 +0300)]
rpc : reuse compute graph buffers (#21299)

Reuse the buffer for the ggml context which is used for creating the
compute graph on the server side. This partially addresses a memory leak
created by the CUDA backend due to using buffer addresses as cache
keys.

ref: #21265
ref: #20315

5 months agochat : avoid including json in chat.h (#21306)
Georgi Gerganov [Fri, 3 Apr 2026 06:07:59 +0000 (09:07 +0300)]
chat : avoid including json in chat.h (#21306)

5 months ago(revert) kv-cache : do not quantize SWA KV cache (#21332)
Georgi Gerganov [Fri, 3 Apr 2026 06:07:01 +0000 (09:07 +0300)]
(revert) kv-cache : do not quantize SWA KV cache (#21332)

This reverts commit 17193cce34036a6488b092ca79313d4ee1f895f5.

5 months agoci : add AMD ZenDNN label to PR labeler (#21345)
Vishal Singh [Fri, 3 Apr 2026 02:35:15 +0000 (08:05 +0530)]
ci : add AMD ZenDNN label to PR labeler (#21345)

* ci : add AMD CPU label to PR labeler
Add automatic labeling for PRs that modify AMD CPU (ZenDNN) backend files

* ci : rename label AMD CPU to AMD ZenDNN in labeler config

Co-authored-by: Aaron Teo <redacted>
---------

Co-authored-by: Aaron Teo <redacted>
5 months ago[HIP] Bump ROCm version to 7.2.1 (#21066)
Slobodan Josic [Thu, 2 Apr 2026 22:59:20 +0000 (00:59 +0200)]
[HIP] Bump ROCm version to 7.2.1 (#21066)

Bump ROCm version on Linux from 7.2 to 7.2.1
Add gfx1102 target
Delete LLVM workaround since ROCm 7.2.1 has fix for ROCm 7.2 perf regression https://github.com/ROCm/rocm-systems/issues/2865

---------

Co-authored-by: Sigbjørn Skjæret <redacted>
5 months agofix: gemma 4 template (#21326)
Piotr Wilkin (ilintar) [Thu, 2 Apr 2026 21:31:02 +0000 (23:31 +0200)]
fix: gemma 4 template (#21326)

5 months agotests : add unit test coverage for llama_tensor_get_type (#20112)
Bartowski [Thu, 2 Apr 2026 20:53:58 +0000 (16:53 -0400)]
tests : add unit test coverage for llama_tensor_get_type (#20112)

* Add unit test coverage for llama_tensor_get_type

* Fix merge conflicts, add more schemas

* clang formatter changes

* Trailing whitespace

* Update name

* Start rebase

* Updating files with upstream changes prior to rebase

* Changes needed from rebase

* Update attn_qkv schema, change throw behaviour

* Fix merge conflicts

* White space

* Update with latest changes to state counters

* Revert accidental personal CLAUDE.md changes

* Change quotation mark

* Reuse metadata.name since we have it

* Move test-only stuff out of llama-quant.cpp

* Hide the regex functionality back in llama-quant.cpp, use a unique pointer to a new struct 'compiled_tensor_type_patterns' which contains the patterns

* cont : inital deslop guidelines

* Cleanup based on review comments

* Continue cleanup

* Small cleanup

* Manually set proper ordering of tensors, mostly applies to gemma

* Formatting

* Update tests/test-quant-type-selection.cpp

Co-authored-by: Sigbjørn Skjæret <redacted>
* Fix merge conflicts

---------

Co-authored-by: Georgi Gerganov <redacted>
Co-authored-by: Sigbjørn Skjæret <redacted>
5 months agoggml-webgpu: add vectorized flash attention (#20709)
Zheyuan Chen [Thu, 2 Apr 2026 17:40:42 +0000 (10:40 -0700)]
ggml-webgpu: add vectorized flash attention (#20709)

* naive vectorized version

* add vectorized flash attention

* update vec version

* remove unused path and shader

* remove unused helper functions

* add comments

* remove pad path

* ggml-webgpu: fix flash-attn vec nwg=1 path and tighten vec specialization

* change back to vec4

* enable multi split

* enable vec path when:
- Q->ne[1] < 20
- Q->ne[0] % 32 == 0
- V->ne[0] % 4 == 0
- K->type == f16

* update flast_attn_vec_split.wgsl to reduce redundant workgroup barrier usage and use select

* enable vec path for q4 and q8

* flash-attn vec nwg=1 fast path (skip tmp/reduce staging)

* use packed f16 K loads in flash-attn vec split

* use packed f16 K loads in flash-attn vec split on host side

* tune flash-attn vec f16 VEC_NE by head dim

* cleanup

* cleanup

* keep host side clean

* cleanup host side

* change back to original host wait/submit behavior

* formatting

* reverted param-buffer pool r ecfactor

* add helper functions

* ggml-webgpu: move flash-attn vec pipeline caching back into shader lib

* ggml-webgpu: remove duplicate functions

* ggml-webgpu: reserve flash-attn vec scratch in dst buffer allocation

* ggml-webgpu: revert unrelated change

* ggml-webgpu: revert deleted comment

* disable uniformity check

* remove unnecessary change

* Update ggml/src/ggml-webgpu/wgsl-shaders/flash_attn_vec_split.wgsl

* Update ggml/src/ggml-webgpu/ggml-webgpu.cpp

---------

Co-authored-by: Reese Levine <redacted>
5 months agotests: allow exporting graph ops from HF file without downloading weights (#21182)
Ruben Ortlam [Thu, 2 Apr 2026 16:19:20 +0000 (18:19 +0200)]
tests: allow exporting graph ops from HF file without downloading weights (#21182)

* tests: allow exporting graph ops from HF file without downloading weights

* use unique_ptr for llama_context in HF metadata case

* fix missing non-required tensors falling back to type f32

* use unique pointers where possible

* use no_alloc instead of fixing f32 fallback

* fix missing space

5 months agomodel, mtmd: fix gguf conversion for audio/vision mmproj (#21309)
Xuan-Son Nguyen [Thu, 2 Apr 2026 15:10:32 +0000 (17:10 +0200)]
model, mtmd: fix gguf conversion for audio/vision mmproj (#21309)

* fix gguf conversion for audio/vision mmproj

* fix test

5 months agocommon : add commentary rules for gpt-oss-20b (#21286)
Aldehir Rojas [Thu, 2 Apr 2026 13:59:59 +0000 (08:59 -0500)]
common : add commentary rules for gpt-oss-20b (#21286)

5 months agoRelax prefill parser to allow space. (#21240)
Piotr Wilkin (ilintar) [Thu, 2 Apr 2026 09:29:11 +0000 (11:29 +0200)]
Relax prefill parser to allow space. (#21240)

* Relax prefill parser to allow space.

* Move changes from prefix() to parser generation

* Only allow spaces if we're not having a pure content parser next

5 months agochat : add Granite 4.0 chat template with correct tool_call role mapping (#20804)
Jesus Talavera [Thu, 2 Apr 2026 09:28:56 +0000 (11:28 +0200)]
chat : add Granite 4.0 chat template with correct tool_call role mapping (#20804)

* chat : add Granite 4.0 chat template with correct tool_call role mapping

Introduce `LLM_CHAT_TEMPLATE_GRANITE_4_0` alongside the existing Granite
3.x template (renamed `LLM_CHAT_TEMPLATE_GRANITE_3_X`).

The Granite 4.0 Jinja template uses `<tool_call>` XML tags and maps the
`assistant_tool_call` role to `<|start_of_role|>assistant<|end_of_role|><|tool_call|>`.
Without a matching C++ handler, the fallback path emits the literal role
`assistant_tool_call` which the model does not recognize, breaking tool
calling when `--jinja` is not used.

Changes:
- Rename `LLM_CHAT_TEMPLATE_GRANITE` to `LLM_CHAT_TEMPLATE_GRANITE_3_X`
  (preserves existing 3.x behavior unchanged)
- Add `LLM_CHAT_TEMPLATE_GRANITE_4_0` enum, map entry, and handler
- Detection: `<|start_of_role|>` + (`<tool_call>` or `<tools>`) → 4.0,
  otherwise → 3.x
- Add production Granite 4.0 Jinja template
- Add tests for both 3.x and 4.0 template paths (C++ and Jinja)

Co-Authored-By: Claude Opus 4.6 <redacted>
* Code review: follow standard format and use common logic in test-chat-template.cpp

* Rename custom_conversation variable for extra_conversation to give it a more meaningful name

---------

Co-authored-by: Claude Opus 4.6 <redacted>
5 months agokv-cache : do not quantize SWA KV cache (#21277)
Georgi Gerganov [Thu, 2 Apr 2026 08:54:05 +0000 (11:54 +0300)]
kv-cache : do not quantize SWA KV cache (#21277)

5 months agoIgnore Transfer-Encoding header. (#20269)
Roger Chen [Thu, 2 Apr 2026 08:41:19 +0000 (16:41 +0800)]
Ignore Transfer-Encoding header. (#20269)

5 months agosync : ggml
Georgi Gerganov [Thu, 2 Apr 2026 07:38:24 +0000 (10:38 +0300)]
sync : ggml

5 months agoggml : bump version to 0.9.11 (ggml/1456)
Georgi Gerganov [Thu, 2 Apr 2026 07:37:26 +0000 (10:37 +0300)]
ggml : bump version to 0.9.11 (ggml/1456)

5 months agosycl : fix llama_kv_cache hang when kv_cache is huge: 5GB (#21283)
Neo Zhang [Thu, 2 Apr 2026 07:08:32 +0000 (15:08 +0800)]
sycl : fix llama_kv_cache hang when kv_cache is huge: 5GB (#21283)

5 months agohexagon : add cumsum op support (#21246)
Todor Boinovski [Thu, 2 Apr 2026 00:44:02 +0000 (17:44 -0700)]
hexagon : add cumsum op support (#21246)

* hexagon : add cumsum op support

* hexagon: enable dma for cumsum op

* Fix line-ending

---------

Co-authored-by: Max Krasnyansky <redacted>
5 months agocontrib : rewrite AGENTS.md, make it more clear about project values (#21270)
Xuan-Son Nguyen [Wed, 1 Apr 2026 21:31:51 +0000 (23:31 +0200)]
contrib : rewrite AGENTS.md, make it more clear about project values (#21270)

* contrib : rewrite AGENTS.md, make it more clear about types of permitted AI usage

* permit AI for writing code

5 months agoopencl: fix leak in Adreno q8_0 path (#21212)
lhez [Wed, 1 Apr 2026 19:54:58 +0000 (12:54 -0700)]
opencl: fix leak in Adreno q8_0 path (#21212)

5 months agoserver: Bypass API Key validation for WebUI static bundle assets (#21269)
Aleksander Grygier [Wed, 1 Apr 2026 19:32:15 +0000 (21:32 +0200)]
server: Bypass API Key validation for WebUI static bundle assets (#21269)

* fix: Bypass API Key validation for static bundle assets

* refactor: All bypassed routes in `public_endpoints`

* test: Update static assets API Key test

5 months agoCUDA: fix FA kernel selection logic (#21271)
Johannes Gäßler [Wed, 1 Apr 2026 19:28:19 +0000 (21:28 +0200)]
CUDA: fix FA kernel selection logic (#21271)

5 months agokleidiai: add CPU feature detection to CI run script (#20394)
Martin Klacer [Wed, 1 Apr 2026 17:02:41 +0000 (18:02 +0100)]
kleidiai: add CPU feature detection to CI run script (#20394)

* kleidiai: add cpu feature detection to CI run script

Signed-off-by: Martin Klacer <redacted>
Change-Id: I663adc3a7691a98e7dac5488962c13cc344f034a

* kleidiai: revert unrelated requirements change

Signed-off-by: Martin Klacer <redacted>
* kleidiai: removed cpu feature detection from CI run script

 * As per the maintainers' suggestion, removed cpu feature detection
   from CI run script as CMake handles it already

Signed-off-by: Martin Klacer <redacted>
---------

Signed-off-by: Martin Klacer <redacted>
5 months agoUpdate Dawn version in WebGPU CI (#20784)
Nikhil Jain [Wed, 1 Apr 2026 16:53:05 +0000 (09:53 -0700)]
Update Dawn version in WebGPU CI (#20784)

* Pin Dawn version

* Update docs with new Dawn commit hash

5 months agohexagon: improve RMS_NORM and DIV accuracy (#21251)
Aparna M P [Wed, 1 Apr 2026 15:43:08 +0000 (21:13 +0530)]
hexagon: improve RMS_NORM and DIV accuracy (#21251)

* hexagon-rms_norm: fix RMS_NORM for non-aligned tensor sizes

Co-authored-by: Krishna Sridhar <redacted>
* hexagon-div: perform DIV in fp16 domain for lower dsp archs

---------

Co-authored-by: Krishna Sridhar <redacted>
5 months agofix: tool call parsing for LFM2 and LFM2.5 models (#21242)
Jonathan [Wed, 1 Apr 2026 14:22:44 +0000 (07:22 -0700)]
fix: tool call parsing for LFM2 and LFM2.5 models (#21242)

* fix: tool call parsing for LFM2 and LFM2.5 models'

* refactor: add test / break out lfm2 and lfm2.5 parsing logic

5 months agollama : rotate activations for better quantization (#21038)
Georgi Gerganov [Wed, 1 Apr 2026 13:58:01 +0000 (16:58 +0300)]
llama : rotate activations for better quantization (#21038)

* llama : rotate activations for better quantization

* cont : rotate V more + refactor

* cont : rotate caches separately + support non-power-of-2 head sizes

* cont : simplify

* cont : add reference for V rotation

* cont : refactor

* cont : support context shift

* cont : consolidate

* cont : dedup + allow different types for the rotation matrix

* cont : add env variable to disable rotation

* cont : simplify attn rot kv cache logic + rename env

* cont : pre-compute the Hadamard matrices

5 months agoscripts: add function call test script (#21234)
Xuan-Son Nguyen [Wed, 1 Apr 2026 13:31:58 +0000 (15:31 +0200)]
scripts: add function call test script (#21234)

* scripts: add function call test script

* add reasoning_content

* fix lint

5 months agosync : ggml
Georgi Gerganov [Wed, 1 Apr 2026 13:02:34 +0000 (16:02 +0300)]
sync : ggml

5 months agoggml : bump version to 0.9.10 (ggml/1454)
Georgi Gerganov [Wed, 1 Apr 2026 13:01:45 +0000 (16:01 +0300)]
ggml : bump version to 0.9.10 (ggml/1454)

5 months agosycl : support nvfp4 type in mul_mat (#21227)
Neo Zhang [Wed, 1 Apr 2026 10:54:15 +0000 (18:54 +0800)]
sycl : support nvfp4 type in mul_mat (#21227)

5 months agoggml-cuda: Add generic NVFP4 MMQ kernel (#21074)
Michael Wand [Wed, 1 Apr 2026 10:04:58 +0000 (03:04 -0700)]
ggml-cuda: Add generic NVFP4 MMQ kernel (#21074)

* Introduced NVFP4 generic MMQ kernel

* Added extra FP8 guard, hope to solve ci HIP failure

* Rename tiles and use HIP_FP8_AVAILABLE

* Removed remaning FP8 straggler and added const int

* Const

* Removed DECL_MMQ_CASE artifact

* Removed newline

* Removed space after else

* Changed HIP FP8 NVFP4 conversion gate

* Added new line to bottom of mmq.cu 270

* Removed extra spaces

* Removed single space in front of else on line 814

* Added NVFP4 to generate cu script so HIP can see it, further tightened logic

* Include generated mmq-instance-nvfp4.cu

* Added NVFP4 mmq to HIP Check ignore list

* Update ggml/src/ggml-cuda/mmq.cuh

Changed to Q3_K tile to read MMQ_MMA_TILE_X_K_NVFP4

Co-authored-by: Johannes Gäßler <redacted>
* Update ggml/src/ggml-cuda/mmq.cuh

Changed to Q3_K tile to read MMQ_MMA_TILE_X_K_NVFP4 in tile assert

Co-authored-by: Johannes Gäßler <redacted>
* Update ggml/src/ggml-cuda/mmq.cuh

Added function name ending for end if

Co-authored-by: Johannes Gäßler <redacted>
* Added function names to closing endif

Co-authored-by: Johannes Gäßler <redacted>
---------

Co-authored-by: Johannes Gäßler <redacted>
5 months agomemory: respect unified KV cache in hybrid memory for eval tasks (#21224)
Ettore Di Giacinto [Wed, 1 Apr 2026 09:50:17 +0000 (11:50 +0200)]
memory: respect unified KV cache in hybrid memory for eval tasks (#21224)

The hybrid memory paths (`llama-memory-hybrid.cpp` and
`llama-memory-hybrid-iswa.cpp`) always used sequential equal split,
ignoring the unified KV cache flag. This caused hellaswag, winogrande,
and multiple-choice evaluations to fail on hybrid models (models with
both attention and recurrent/SSM layers, such as Qwen3.5-35B-A3B) with:

  split_equal: sequential split is not supported when there are
  coupled sequences in the input batch (you may need to use the
  -kvu flag)

PR #19954 fixed this for `llama-kv-cache-iswa.cpp` by automatically
enabling unified KV mode and setting n_parallel >= 4 for multi-choice
eval tasks. However, the hybrid memory paths were not updated.

This commit mirrors the iswa fix: use non-sequential split when KV
cache is unified (n_stream == 1), which is automatically set by
llama-perplexity for hellaswag/winogrande/multiple-choice since #19954.

Tested on Qwen3.5-35B-A3B (hybrid attention+SSM MoE model):
- HellaSwag: 83.0% (400 tasks)
- Winogrande: 74.5% (400 tasks)
- MMLU: 41.2%
- ARC-Challenge: 56.2%
- TruthfulQA: 37.7%
All previously failed with llama_decode() error.

5 months agoCUDA/HIP: Fix kernel slection for mmvq mmid kernel to align host selection with devic...
uvos [Wed, 1 Apr 2026 08:21:20 +0000 (10:21 +0200)]
CUDA/HIP: Fix kernel slection for mmvq mmid kernel to align host selection with device launch bounds (#21238)

The conditions cc == GGML_CUDA_CC_VOLTA || cc >= GGML_CUDA_CC_ADA_LOVELACE and cc >= GGML_CUDA_CC_TURING match all non-nvidia devices. This causes us to attempt to launch the kernel for batch sizes with larger configurations than our launch bounds on HIP devices. This pr fixes the conditionals in get_mmvq_mmid_max_batch.

Fixes #21191

5 months agoggml : fix RWKV ops thread assignment (#21226) upstream/0.0.8611
Georgi Gerganov [Wed, 1 Apr 2026 08:10:25 +0000 (11:10 +0300)]
ggml : fix RWKV ops thread assignment (#21226)

5 months agoggml-cpu: fix fallback for RVV kernels without zvfh (#21157)
Taimur Ahmad [Wed, 1 Apr 2026 08:10:03 +0000 (13:10 +0500)]
ggml-cpu: fix fallback for RVV kernels without zvfh (#21157)

* ggml-cpu: refactor sgemm; fix rvv checks

* ggml-cpu: refactor rvv kernels; set zvfbfwma default to off

5 months agoCUDA: Add Flash Attention Support for Head Dimension 512 (#20998)
Anav Prasad [Wed, 1 Apr 2026 07:07:24 +0000 (07:07 +0000)]
CUDA: Add Flash Attention Support for Head Dimension 512 (#20998)

* flash attention support for head dimension 512 added

* FA D=512 - match 576 configs, limit ncols2, revert vec cap

* fix HIP tile kernel build for D=512

* fix HIP tile kernel occupancy for D=512 on AMD

* Apply suggestions from code review

Co-authored-by: Johannes Gäßler <redacted>
* fix tile FA compilation

---------

Co-authored-by: Johannes Gäßler <redacted>
5 months agollama : refactor llama_model_quantize_params to expose a pure C interface (#20346)
Ed Addario [Wed, 1 Apr 2026 05:43:00 +0000 (06:43 +0100)]
llama : refactor llama_model_quantize_params to expose a pure C interface (#20346)

* Refactor llama_model_quantize_params to expose a pure C interface

* Restore comment and cleanup struct def

* Code review refactoring

Co-authored-by: Georgi Gerganov <redacted>
* Code review refactoring

---------

Co-authored-by: Georgi Gerganov <redacted>
5 months agoggml webgpu: quantized buffers to u32 + wider browser/device support (#21046)
Reese Levine [Wed, 1 Apr 2026 05:38:24 +0000 (22:38 -0700)]
ggml webgpu: quantized buffers to u32 + wider browser/device support (#21046)

* Work towards removing bitcast

* Move rest of existing types over

* Add timeout back to wait and remove synchronous set_tensor/memset_tensor

* move to unpackf16 for wider compatibility

* cleanup

* Remove deadlock condition in free_bufs

5 months agoggml-webgpu: port all AOT operators to JIT (#20728)
Abhijit Ramesh [Tue, 31 Mar 2026 22:38:16 +0000 (15:38 -0700)]
ggml-webgpu: port all AOT operators to JIT (#20728)

* port cpy pipeline to shader lib with JIT compilation
 * port glu pipeline to shader lib with JIT compilation
 * port rope pipeline to shader lib with JIT compilation
 * port soft_max pipeline to shader lib with JIT compilation
 * removed unused functions from embed_wgsl.py which were used for
old AOT template expansion

5 months agofix: Use lower-case proxy headers naming (#21235)
Aleksander Grygier [Tue, 31 Mar 2026 15:47:46 +0000 (17:47 +0200)]
fix: Use lower-case proxy headers naming (#21235)