]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/log
pkg/ggml/sources/llama.cpp
8 weeks agollama-model: fix unfortunate typo (#18832)
Aman Gupta [Wed, 14 Jan 2026 09:55:15 +0000 (17:55 +0800)]
llama-model: fix unfortunate typo (#18832)

8 weeks agoCUDA : fix typo in clang pragma comment [no ci] (#18830)
Daniel Bevenius [Wed, 14 Jan 2026 09:31:49 +0000 (10:31 +0100)]
CUDA : fix typo in clang pragma comment [no ci] (#18830)

8 weeks agovulkan: work around Intel fp16 bug in mmq (#18814)
Ruben Ortlam [Wed, 14 Jan 2026 08:41:23 +0000 (09:41 +0100)]
vulkan: work around Intel fp16 bug in mmq (#18814)

8 weeks agoggml-metal: do not copy headers for embedded, use current binary dir for embedded...
Perry Naseck [Wed, 14 Jan 2026 07:22:25 +0000 (02:22 -0500)]
ggml-metal: do not copy headers for embedded, use current binary dir for embedded (#18705)

8 weeks agommap: add Haiku support by skipping RLIMIT_MEMLOCK check (#18819)
Daniel Benjaminsson [Wed, 14 Jan 2026 07:11:05 +0000 (08:11 +0100)]
mmap: add Haiku support by skipping RLIMIT_MEMLOCK check (#18819)

Haiku OS does not support RLIMIT_MEMLOCK, similar to visionOS/tvOS.
Skip the resource limit check on Haiku to allow mlock functionality
to work without compile errors.

Tested on Haiku with NVIDIA RTX 3080 Ti using Vulkan backend.

8 weeks agoci, tests : use cmake to download models and remove libcurl dependency (#18791)
Adrien Gallouët [Wed, 14 Jan 2026 06:46:27 +0000 (07:46 +0100)]
ci, tests : use cmake to download models and remove libcurl dependency (#18791)

* ci, tests : use cmake to download models and remove libcurl dependency
* llama_dl_model -> llama_download_model
* use EXPECTED_HASH for robust model downloading
* Move llama_download_model to cmake/common.cmake

Signed-off-by: Adrien Gallouët <redacted>
8 weeks agollama : print_info alignment fix (#18708)
ddh0 [Tue, 13 Jan 2026 23:05:11 +0000 (17:05 -0600)]
llama : print_info alignment fix (#18708)

* fix text spacing in print_info

* align all

8 weeks agomodel : add EXAONE MoE (#18543)
Junwon Hwang [Tue, 13 Jan 2026 22:28:38 +0000 (07:28 +0900)]
model : add EXAONE MoE (#18543)

* Add EXAONE MoE implementations

Co-authored-by: Junwon Hwang <redacted>
* Address PR feedback

* Address PR feedback

* [WIP] Add MTP for EXAONE-MoE

* Address PR feedback

* Address PR feedback

* Address PR feedback

* Address PR feedback

* Address PR feedback

* Address PR feedback

* Address PR feedback

---------

Co-authored-by: LG-AI-EXAONE <redacted>
8 weeks agovocab : fix attribute overrides for harmony (#18806)
Georgi Gerganov [Tue, 13 Jan 2026 15:40:13 +0000 (17:40 +0200)]
vocab : fix attribute overrides for harmony (#18806)

* vocab : fix attribute overrides for harmony

* cont : add warning log

8 weeks agollama-mmap: fix direct-io loading fallback EOF exception (#18801)
Ruben Ortlam [Tue, 13 Jan 2026 14:57:07 +0000 (15:57 +0100)]
llama-mmap: fix direct-io loading fallback EOF exception (#18801)

8 weeks agomodel-conversion : remove -c 0 from model card template [no ci] (#18807)
Daniel Bevenius [Tue, 13 Jan 2026 13:13:10 +0000 (14:13 +0100)]
model-conversion : remove -c 0 from model card template [no ci] (#18807)

This commit removes the `-c, --ctx-size N` from the llama-server
command in the model card template for causal models.

The motivation for this is that -c 0 is the default and specifying it
is redundant.

8 weeks agoHIP: add fattn-mma-f16 for RDNA4 (#18481)
yulo [Tue, 13 Jan 2026 12:52:16 +0000 (20:52 +0800)]
HIP: add fattn-mma-f16 for RDNA4 (#18481)

* finish VQ mma

* flash_attn_ext_f16_iter

* KQ_rowsum

* correct exp

* fix scale error

* fix softmax scale

* fix softmax scale

* enable fattn on cpu side

* fix random error

* disable fattn-mma-f16 on rdna3

* fix wrong col for rdna

* use identity mat to transpose

* resolve conflicts

* basic tuning for DeepSeek-R1-Distill-Qwen-1.5B

* fix volta compile error

* align rdna4 policy for fattn

* adjust fattn policy

* adjust kernel selection logic

* update as the review comments

* keep fattn-wmma logic

* adjust kernel selection logic

---------

Co-authored-by: zhang hui <redacted>
Co-authored-by: Johannes Gäßler <redacted>
8 weeks agodoc: ban AI-generated PR descriptions [no ci] (#18765)
Johannes Gäßler [Tue, 13 Jan 2026 12:43:12 +0000 (13:43 +0100)]
doc: ban AI-generated PR descriptions [no ci] (#18765)

8 weeks agomtmd: fix use_non_causal being reported incorrectly (#18793) upstream/0.0.7721
Xuan-Son Nguyen [Tue, 13 Jan 2026 11:19:38 +0000 (12:19 +0100)]
mtmd: fix use_non_causal being reported incorrectly (#18793)

* mtmd: fix use_non_causal being reported incorrectly

* move clip_is_mrope to mtmd_decode_use_mrope

* fix sloppy code ggml_cpy

8 weeks agoCUDA : fix unused argument when USE_CUDA_GRAPH=OFF (#18800)
Georgi Gerganov [Tue, 13 Jan 2026 10:25:53 +0000 (12:25 +0200)]
CUDA : fix unused argument when USE_CUDA_GRAPH=OFF (#18800)

8 weeks agograph : clean up t5 input builders (#18795)
Gabe Goodhart [Tue, 13 Jan 2026 08:43:51 +0000 (01:43 -0700)]
graph : clean up t5 input builders (#18795)

* fix: Remove unnecessary `h` loops where `h` was only ever 0

Branch: CleanUpT5InputBuilders

Signed-off-by: Gabe Goodhart <redacted>
* fix: Remove unnecessary padding loop that is never hit anymore

The upper bound used to use GGML_PAD(n_tokens, GGML_KQ_MASK_PAD), but was
removed in https://github.com/ggml-org/llama.cpp/pull/17910 leaving the
loop dead.

Branch: CleanUpT5InputBuilders

Signed-off-by: Gabe Goodhart <redacted>
---------

Signed-off-by: Gabe Goodhart <redacted>
8 weeks agollama-bench: add direct_io parameter (#18778)
Ruben Ortlam [Tue, 13 Jan 2026 07:49:10 +0000 (08:49 +0100)]
llama-bench: add direct_io parameter (#18778)

8 weeks agoci : remove libcurl in releases (#18775)
Adrien Gallouët [Mon, 12 Jan 2026 20:43:02 +0000 (21:43 +0100)]
ci : remove libcurl in releases (#18775)

Signed-off-by: Adrien Gallouët <redacted>
8 weeks agoserver : add arg for disabling prompt caching (#18776)
Radoslav Gerganov [Mon, 12 Jan 2026 17:21:34 +0000 (19:21 +0200)]
server : add arg for disabling prompt caching (#18776)

* server : add arg for disabling prompt caching

Disabling prompt caching is useful for clients who are restricted to
sending only OpenAI-compat requests and want deterministic
responses.

* address review comments

* address review comments

8 weeks agoci : use openssl for openEuler-latest-cmake-cann (#18779)
Adrien Gallouët [Mon, 12 Jan 2026 16:29:00 +0000 (17:29 +0100)]
ci : use openssl for openEuler-latest-cmake-cann (#18779)

Signed-off-by: Adrien Gallouët <redacted>
8 weeks agovendor : update cpp-httplib to 0.30.1 (#18771)
Adrien Gallouët [Mon, 12 Jan 2026 14:58:52 +0000 (15:58 +0100)]
vendor : update cpp-httplib to 0.30.1 (#18771)

Signed-off-by: Adrien Gallouët <redacted>
8 weeks agoexamples : add --kv-unified to batched example (#18774)
Daniel Bevenius [Mon, 12 Jan 2026 12:47:58 +0000 (13:47 +0100)]
examples : add --kv-unified to batched example (#18774)

This commit adds the --kv-unified flag to the batched example. This flag
is currently specified in the README.md as required, but is currently
not available as a command line option for the batched example.

The motivation for this is that specifying this flag as the README
instructs, will lead to an error about the flag not being recognized,
and without this option the example fail with the following error:
```console
split_equal: sequential split is not supported when there are coupled
sequences in the input batch (you may need to use the -kvu flag)
decode: failed to find a memory slot for batch of size 4
main: llama_decode() failed
```

8 weeks agovulkan: change memory_logger to be controlled by an env var (#18769)
Jeff Bolz [Mon, 12 Jan 2026 12:32:55 +0000 (06:32 -0600)]
vulkan: change memory_logger to be controlled by an env var (#18769)

8 weeks agoserver: update docs for sleeping [no ci] (#18777)
Xuan-Son Nguyen [Mon, 12 Jan 2026 12:01:24 +0000 (13:01 +0100)]
server: update docs for sleeping [no ci] (#18777)

8 weeks agovulkan: Use VK_EXT_shader_64bit_indexing to handle large mat_mul(_id) (#18678)
Jeff Bolz [Mon, 12 Jan 2026 11:32:13 +0000 (05:32 -0600)]
vulkan: Use VK_EXT_shader_64bit_indexing to handle large mat_mul(_id) (#18678)

This fixes incoherent output in Llama-4-Maverick-17B-128E-PAB-Q8_0, which
has a mul_mat_id with an A matrix that's Q8_0 8192 x 5120 x 128.

This should work when the number of blocks in the A matrix is less than 2^32
(for mul_mat_vec or mul_mm_cm2), or for mul_mm I think the limit is like
2^32*LOAD_VEC_A elements.

- Divide batch_stride by QUANT_K earlier, so the block index calculation works in 32b.
- Each vk_pipeline_struct has a linked list of pipelines that will allow it to handle
variants. So far this change just adds a single use case for this, compiling with the
e64BitIndexingEXT flag.
- Use the 64b indexing variant when the A matrix is larger than maxStorageBufferRange.

64-bit indexing has some cost - around 3-5% in MoE models, so it's worth the effort
to avoid enabling it unconditionally.

8 weeks agovulkan: Disable large coopmat matmul configuration on proprietary AMD driver (#18763)
Ruben Ortlam [Mon, 12 Jan 2026 06:29:35 +0000 (07:29 +0100)]
vulkan: Disable large coopmat matmul configuration on proprietary AMD driver (#18763)

* vulkan: Disable large coopmat matmul configuration on proprietary AMD driver

* Also disable the large tile size

8 weeks agomodel: fix qwen3next broken due to #18683 (#18762)
Xuan-Son Nguyen [Sun, 11 Jan 2026 20:00:10 +0000 (21:00 +0100)]
model: fix qwen3next broken due to #18683 (#18762)

8 weeks agoVulkan: Optimize Matmul parameters for AMD GPUs with Coopmat support (#18749)
Ruben Ortlam [Sun, 11 Jan 2026 16:33:33 +0000 (17:33 +0100)]
Vulkan: Optimize Matmul parameters for AMD GPUs with Coopmat support (#18749)

* vulkan: Enable and optimize large matmul parameter combination for AMD

* limit tuning to AMD GPUs with coopmat support

* use tx_m values instead of _l

8 weeks agosecurity: make it clear about subtopics in server (#18754)
Xuan-Son Nguyen [Sun, 11 Jan 2026 15:51:03 +0000 (16:51 +0100)]
security: make it clear about subtopics in server (#18754)

* security: make it clear about subtopics in server

* exclude DoS

8 weeks agodebug : include LLAMA_POOLING_TYPE_UNSPECIFIED in pooling check (#18692)
Daniel Bevenius [Sun, 11 Jan 2026 15:34:41 +0000 (16:34 +0100)]
debug : include LLAMA_POOLING_TYPE_UNSPECIFIED in pooling check (#18692)

* debug : include LLAMA_POOLING_TYPE_UNSPECIFIED in pooling check

This commit updates the pooling check in the debug example to
also include LLAMA_POOLING_TYPE_UNSPECIFIED and not just
LLAMA_POOLING_TYPE_NONE.

* debug : normalize both pooled and token embeddings

This commit updates debug.cpp to normalize embeddings for both pooled
and non-pooled outputs. For pooled embeddings, normalization is applied
to the single vector, and for non-pooled embeddings, normalization is
applied to each token embedding vector individually.

The motivation for this is to enable non-pooled embeddings to be
normalized which was not possible previously.

8 weeks agotests : refactor test-backend-sampler (#18753)
Georgi Gerganov [Sun, 11 Jan 2026 15:31:03 +0000 (17:31 +0200)]
tests : refactor test-backend-sampler (#18753)

* tests : use "auto", use std::string

* tests : refactor test-backend-sampler.cpp

* cmake : remove redundant declarations

* ci : use smaller model

* tests : add struct test_params

* tests : reduce logit bias 100.0f -> 10.0f

8 weeks agomodel: try to improve Qwen3 Next (#18683)
Xuan-Son Nguyen [Sun, 11 Jan 2026 11:53:33 +0000 (12:53 +0100)]
model: try to improve Qwen3 Next (#18683)

* qwen3next: simplify qkvz projection

* use ggml_swiglu_split

* revert swiglu_split, but remove redundant repeat()

* fix missing reshape

* rm 2 redundant transposes

* move mul_mat(k,q) to outside of chunking

* rm redundant cont

* improve g_cs_chunk

* add comments about no cont

* use std::pair instead of ggml_concat

* vectorize key_gdiff calculation

* rm unused tensor

* avoid ggml_concat inside loop

* bring back ggml_concat as it may not work on other backend

* nits

8 weeks agoreadme : update UIs (#18751)
thom-dev-fr [Sun, 11 Jan 2026 11:46:50 +0000 (12:46 +0100)]
readme : update UIs (#18751)

8 weeks agosecurity: narrow down the scope of what we consider a vulnerability (#18752)
Xuan-Son Nguyen [Sun, 11 Jan 2026 11:23:36 +0000 (12:23 +0100)]
security: narrow down the scope of what we consider a vulnerability (#18752)

* security: narrow down the scope of what we consider a vulnerability

* fix typo

8 weeks agoopencl: add SOFTPLUS op support (#18726)
shaofeiqi [Sun, 11 Jan 2026 05:57:44 +0000 (21:57 -0800)]
opencl: add SOFTPLUS op support (#18726)

8 weeks agotest-backend-ops: fix mxfp4 tests on blackwell (#18736)
Aman Gupta [Sat, 10 Jan 2026 17:12:57 +0000 (01:12 +0800)]
test-backend-ops: fix mxfp4 tests on blackwell (#18736)

8 weeks agoHIP: adjust RDNA3.5 MMQ kernel selction logic (#18666)
Johannes Gäßler [Sat, 10 Jan 2026 16:19:01 +0000 (17:19 +0100)]
HIP: adjust RDNA3.5 MMQ kernel selction logic (#18666)

8 weeks agocmake : update blas logic (#18205)
Perry Naseck [Sat, 10 Jan 2026 16:00:54 +0000 (11:00 -0500)]
cmake : update blas logic (#18205)

8 weeks agoserver : adjust unified KV cache tests (#18716)
Georgi Gerganov [Sat, 10 Jan 2026 15:51:56 +0000 (17:51 +0200)]
server : adjust unified KV cache tests (#18716)

8 weeks agoscripts : follow api redirects in pr2wt.sh (#18739)
Sigbjørn Skjæret [Sat, 10 Jan 2026 15:04:05 +0000 (16:04 +0100)]
scripts : follow api redirects in pr2wt.sh (#18739)

8 weeks agopreset: allow named remote preset (#18728)
Xuan-Son Nguyen [Sat, 10 Jan 2026 14:12:29 +0000 (15:12 +0100)]
preset: allow named remote preset (#18728)

* preset: allow named remote preset

* nits: fix docs

* cont docs

8 weeks agodocs(ggml): update backend ops (#18734)
Aaron Teo [Sat, 10 Jan 2026 10:48:17 +0000 (18:48 +0800)]
docs(ggml): update backend ops (#18734)

Signed-off-by: Aaron Teo <redacted>
8 weeks agoCorrected: changed s13 = src1->nb[3] instead of nb[2] (#18724)
Michael Wand [Sat, 10 Jan 2026 09:16:07 +0000 (01:16 -0800)]
Corrected: changed s13 = src1->nb[3] instead of nb[2] (#18724)

8 weeks agocommon : add --license to display embedded licenses (#18696)
Adrien Gallouët [Sat, 10 Jan 2026 08:46:24 +0000 (09:46 +0100)]
common : add --license to display embedded licenses (#18696)

This commit introduces a mechanism to embed all licenses directly
into the compiled binaries.

This eliminates the need to distribute separate LICENSE files alongside
the executable, making the binaries self-contained and simplifying
deployment.

2 months agoserver: fix n_cmpl not skipping processing prompt (#18663)
Xuan-Son Nguyen [Fri, 9 Jan 2026 23:00:41 +0000 (00:00 +0100)]
server: fix n_cmpl not skipping processing prompt (#18663)

* server: fix n_cmpl not skipping processing

* fix infinite loop on empty batch

* cont : init child samplers + modify child logic

* cont : cleanup

* cont : improve n_cmpl logic

- launch the parent task first so it finds the slot with best cache
- parent task waits for child tasks to be launched
- when a child task finishes - remove its cache

* cont : remove redundant function

* cont : reduce parent checks

* fix : nullptr task dereference

---------

Co-authored-by: Georgi Gerganov <redacted>
2 months agomtmd: Add Gemma3n multimodal support with MobileNetV5 vision encoder (#18256)
Simranjeet Singh [Fri, 9 Jan 2026 22:42:38 +0000 (22:42 +0000)]
mtmd: Add Gemma3n multimodal support with MobileNetV5 vision encoder (#18256)

* Add Gemma3nVisionModel - MobileNetV5 vision encoder convertor to convert_hf_to_gguf.py. Add gemma3n to vision projectors in gguf-py/gguf/constants.py.

* Add mobilenetv5 impl

* Fix comments, remove unused vars

* Fix permute and remove transpose of projection weights

* Fix comments, remove debugging prints from hf_to_gguf

* 1. Hard-code image_mean = 0 and image_std = 1
2. Use available tensor mapping logic
3. Remove redundant chat template replacement of soft tokens placeholder with media placeholder

* 1. Move mobilenetv5 helpers declarations to `clip_graph_mobilenetv5` struct and definitions to mobilenetv5.cpp
2.Remove unused `clip_is_gemma3n` func declarations and definitions
3. Remove redundant `rescale_image_u8_to_f32` func and use `normalize_image_u8_to_f32` with zero mean and unit std
4. Calculate n_patches using image_size / patch_size

* Remove obsolete comments

* - convert_hf_to_gguf.py & constants.py & tensor_mapping.py: Use explicit mapping: Custom map for double indexed blocks and tensor_mapping.py for rest
- convert_hf_to_gguf.py: Unsqueeze Stem Bias and Layer scale tensors to correct shape while converting to gguf
- mobilenetv5.cpp: Remove explicit reshaping of Stem Bias and Layer scale which are now handled while converting to gguf, replace fprintf with LOG_*
- clip.cpp: Remove unused embedding and hard_emb_norm tensor loading

* - Rename tensors to v.conv..., v.blk..., v.msfa... to better align with already existing terminology

* Fix stem conv bias name

* Remove explicit handling of bias term for stem conv

* - Change order of addition in "project_per_layer_inputs" to support broadcasting of vision inp_per_layer
- Simplify the vision embeddings path of "get_per_layer_inputs" to output [n_embd_altup, n_layer, 1], broadcastable

* clean up conversion script

* fix code style

* also preserve audio tensors

* trailing space

* split arch A and V

* rm unused gemma3 func

* fix alignment

---------

Co-authored-by: Xuan Son Nguyen <redacted>
2 months agoopencl: add EXPM1 op (#18704)
shaofeiqi [Fri, 9 Jan 2026 18:13:13 +0000 (10:13 -0800)]
opencl: add EXPM1 op (#18704)

2 months agoUpdates to webgpu get_memory (#18707)
Reese Levine [Fri, 9 Jan 2026 16:17:18 +0000 (08:17 -0800)]
Updates to webgpu get_memory (#18707)

2 months agoWebui/file upload (#18694)
Pascal [Fri, 9 Jan 2026 15:45:32 +0000 (16:45 +0100)]
Webui/file upload (#18694)

* webui: fix restrictive file type validation

* webui: simplify file processing logic

* chore: update webui build output

* webui: remove file picker extension whitelist (1/2)

* webui: remove file picker extension whitelist (2/2)

* chore: update webui build output

* refactor: Cleanup

* chore: update webui build output

* fix: update ChatForm storybook test after removing accept attribute

* chore: update webui build output

* refactor: more cleanup

* chore: update webui build output

2 months agocmake: only build cli when server is enabled (#18670)
Asbjørn Olling [Fri, 9 Jan 2026 15:43:26 +0000 (16:43 +0100)]
cmake: only build cli when server is enabled (#18670)

2 months agoserver : fix timing of prompt/generation (#18713)
Georgi Gerganov [Fri, 9 Jan 2026 10:59:50 +0000 (12:59 +0200)]
server : fix timing of prompt/generation (#18713)

2 months agoscripts : pr2wt.sh reset to remote head (#18695)
Georgi Gerganov [Fri, 9 Jan 2026 10:16:40 +0000 (12:16 +0200)]
scripts : pr2wt.sh reset to remote head (#18695)

* scripts : pr2wt.sh reset to remote head

* cont : cleaner

* cont : restore --set-upstream-to

2 months agoserver : use different seeds for child completions (#18700)
Georgi Gerganov [Fri, 9 Jan 2026 07:33:50 +0000 (09:33 +0200)]
server : use different seeds for child completions (#18700)

* server : use different seeds for child completions

* cont : handle default seed

* cont : note

2 months agocommon: support remote preset (#18520)
Xuan-Son Nguyen [Thu, 8 Jan 2026 21:35:40 +0000 (22:35 +0100)]
common: support remote preset (#18520)

* arg: support remote preset

* proof reading

* allow one HF repo to point to multiple HF repos

* docs: mention about multiple GGUF use case

* correct clean_file_name

* download: also return HTTP status code

* fix case with cache file used

* fix --offline option

2 months agollama: use host memory if device reports 0 memory (#18587)
Aaron Teo [Thu, 8 Jan 2026 21:34:56 +0000 (05:34 +0800)]
llama: use host memory if device reports 0 memory (#18587)

2 months agoggml-webgpu: Fix GGML_MEM_ALIGN to 8 for emscripten. (#18628)
Masashi Yoshimura [Thu, 8 Jan 2026 16:36:42 +0000 (01:36 +0900)]
ggml-webgpu: Fix GGML_MEM_ALIGN to 8 for emscripten. (#18628)

* Fix GGML_MEM_ALIGN to 8 for emscripten.

* Add a comment explaining the need for GGML_MEM_ALIGN == 8 in 64-bit wasm with emscripten

2 months agoggml webgpu: initial flashattention implementation (#18610)
Reese Levine [Thu, 8 Jan 2026 16:23:39 +0000 (08:23 -0800)]
ggml webgpu: initial flashattention implementation (#18610)

* FlashAttention (#13)

* Add inplace softmax

* Move rms_norm to split row approach

* Update debug for supports_op

* clean up debug statements

* neg f16xf32xip builds and runs, havent actually ran a model that uses neg kernel yet though

* neg passes backend test

* unary operators pass ggml tests

* rms_norm double declaration bug atoned

* abides by editor-config

* removed vestigial files

* fixed autoconfig

* All operators (inlcluding xielu) working

* removed unnecesarry checking if node->src[1] exists for unary operators

* responded and dealt with PR comments

* implemented REPL_Template support and removed bug in unary operators kernel

* formatted embed wgsl and ggml-webgpu.cpp

* Faster tensors (#8)

Add fast matrix and matrix/vector multiplication.

* Use map for shader replacements instead of pair of strings

* Wasm (#9)

* webgpu : fix build on emscripten

* more debugging stuff

* test-backend-ops: force single thread on wasm

* fix single-thread case for init_tensor_uniform

* use jspi

* add pthread

* test: remember to set n_thread for cpu backend

* Add buffer label and enable dawn-specific toggles to turn off some checks

* Intermediate state

* Fast working f16/f32 vec4

* Working float fast mul mat

* Clean up naming of mul_mat to match logical model, start work on q mul_mat

* Setup for subgroup matrix mat mul

* Basic working subgroup matrix

* Working subgroup matrix tiling

* Handle weirder sg matrix sizes (but still % sg matrix size)

* Working start to gemv

* working f16 accumulation with shared memory staging

* Print out available subgroup matrix configurations

* Vectorize dst stores for sg matrix shader

* Gemv working scalar

* Minor set_rows optimization (#4)

* updated optimization, fixed errors

* non vectorized version now dispatches one thread per element

* Simplify

* Change logic for set_rows pipelines

---------

Co-authored-by: Neha Abbas <redacted>
Co-authored-by: Neha Abbas <redacted>
Co-authored-by: Reese Levine <redacted>
* Comment on dawn toggles

* Working subgroup matrix code for (semi)generic sizes

* Remove some comments

* Cleanup code

* Update dawn version and move to portable subgroup size

* Try to fix new dawn release

* Update subgroup size comment

* Only check for subgroup matrix configs if they are supported

* Add toggles for subgroup matrix/f16 support on nvidia+vulkan

* Make row/col naming consistent

* Refactor shared memory loading

* Move sg matrix stores to correct file

* Working q4_0

* Formatting

* Work with emscripten builds

* Fix test-backend-ops emscripten for f16/quantized types

* Use emscripten memory64 to support get_memory

* Add build flags and try ci

---------

Co-authored-by: Xuan Son Nguyen <redacted>
* Remove extra whitespace

* Move wasm single-thread logic out of test-backend-ops for cpu backend

* Disable multiple threads for emscripten single-thread builds in ggml_graph_plan

* Refactored pipelines and workgroup calculations (#10)

* refactored pipelines

* refactored workgroup calculation

* removed commented out block of prior maps

* Clean up ceiling division pattern

---------

Co-authored-by: Neha Abbas <redacted>
Co-authored-by: Reese Levine <redacted>
* Start work on flash attention

* Shader structure set up (many bugs still)

* debugging

* Working first test

* Working with head grouping, head sizes to 128, logit softcap, mask/sinks enabled, f32

* Generalize softmax to work with multiple subgroups, f16 accumulation, mask shared memory tiling

* Start work on integrating pre-wgsl

* Separate structs/initial shader compilation library into separate files

* Work on compilation choices for flashattention

* Work on subgroup matrix/tile size portability

* subgroup size agnostic online softmax

* Cleanups, quantization types

* more cleanup

* fix wasm build

* Refactor flashattention to increase parallelism, use direct loads for KV in somce cases

* Checkpoint

* formatting

* Update to account for default kv cache padding

* formatting shader

* Add workflow for ggml-ci webgpu

* Try passing absolute path to dawn in ggml-ci

* Avoid error on device destruction, add todos for proper cleanup

* Fix unused warning

* Forgot one parameter unused

* Move some flashattn computation to f32 for correctness

2 months agovulkan: fix push constant size for quantize_q8_1 (#18687)
Jeff Bolz [Thu, 8 Jan 2026 14:40:58 +0000 (08:40 -0600)]
vulkan: fix push constant size for quantize_q8_1 (#18687)

I added an assert to catch further mismatches, and it found several.
Fix those, too.

2 months agovulkan: optimize ssm_scan (#18630)
Jeff Bolz [Thu, 8 Jan 2026 14:16:54 +0000 (08:16 -0600)]
vulkan: optimize ssm_scan (#18630)

* vulkan: optimize ssm_scan

* fix warp vs subgroup naming

2 months agovendor : update cpp-httplib to 0.30.0 (#18660)
Adrien Gallouët [Thu, 8 Jan 2026 12:53:54 +0000 (13:53 +0100)]
vendor : update cpp-httplib to 0.30.0 (#18660)

* vendor : update cpp-httplib to 0.30.0
* common : allow custom headers when downloading

2 months agoscripts : support chaining commands in pr2wt.sh (#18671)
Georgi Gerganov [Thu, 8 Jan 2026 11:40:23 +0000 (13:40 +0200)]
scripts : support chaining commands in pr2wt.sh (#18671)

2 months agometal : add MoE kernel specialization for ne20=5 (#18667)
도로로도로또 [Thu, 8 Jan 2026 10:37:45 +0000 (19:37 +0900)]
metal : add MoE kernel specialization for ne20=5 (#18667)

Add template specialization for kernel_mul_mm_id_map0 with ne20=5
to support models using 5 active experts (e.g., VAETKI).

2 months agollama-fit-params: free memory target per device (#18679)
Johannes Gäßler [Thu, 8 Jan 2026 09:07:58 +0000 (10:07 +0100)]
llama-fit-params: free memory target per device (#18679)

2 months agoggml: add env var GGML_OP_OFFLOAD_MIN_BATCH (#18535)
Doctor Shotgun [Thu, 8 Jan 2026 09:03:21 +0000 (01:03 -0800)]
ggml: add env var GGML_OP_OFFLOAD_MIN_BATCH (#18535)

* ggml: add env var GGML_OP_OFFLOAD_MIN_BATCH
* makes the min_batch_size for triggering op offload configurable via env var, defaulting to the prior hardcoded value of 32

* ggml: read GGML_OP_OFFLOAD_MIN_BATCH once and store to dev ctx

* cann: forward declaration of device context struct

* cann: move offload op check after device context declaration

* cuda: fix whitespace

Co-authored-by: Aman Gupta <redacted>
---------

Co-authored-by: Aman Gupta <redacted>
2 months agomodel-conversion : add warn about transformers mismatch (#18691)
Daniel Bevenius [Thu, 8 Jan 2026 08:29:53 +0000 (09:29 +0100)]
model-conversion : add warn about transformers mismatch (#18691)

This commit adds a check comparing the installed transformers library
with the transformers version that the original model supports. This
check will be performed upon a model verification failure and prints a
warning/hint to the user suggesting to install the correct version of
the transformers library.

The motivation for this change is that it is possible for the model
verification to fail due to differences in the transformers library used
and it might not be obvious that this could be the cause of the failure.
With this warning the correct version can be checked and hopefully save
time troubleshooting the cause of the verification failure.

2 months agomodel-conversion : remove -st targets for converted model (#18689)
Daniel Bevenius [Thu, 8 Jan 2026 08:29:15 +0000 (09:29 +0100)]
model-conversion : remove -st targets for converted model (#18689)

This commit removes the '-st` make target for running the converted
embedding model.

The motivation for this is that the pooling type is now part of the
.gguf metdata of the model and this is used by llama-debug when running
the model. So there is no need to specify the pooling type separately
any more.

The commit also adds an option to specify the type of normalization
applied to the output embeddings when running the converted model.

And the readme documentation has been  updated to reflect these changes.

2 months agollama : add `use_direct_io` flag for model loading (#18166)
Julius Tischbein [Thu, 8 Jan 2026 06:35:30 +0000 (07:35 +0100)]
llama : add `use_direct_io` flag for model loading (#18166)

* Adding --direct-io flag for model loading

* Fixing read_raw() calls

* Fixing Windows read_raw_at

* Changing type off_t to size_t for windows and Renaming functions

* disable direct io when mmap is explicitly enabled

* Use read_raw_unsafe when upload_backend is available, not functional on some devices with Vulkan and SYCL

* Fallback to std::fread in case O_DIRECT fails due to bad address

* Windows: remove const keywords and unused functions

* Update src/llama-mmap.cpp

Co-authored-by: Georgi Gerganov <redacted>
---------

Co-authored-by: jtischbein <redacted>
Co-authored-by: Georgi Gerganov <redacted>
2 months agoopencl: add FILL op support (#18682)
shaofeiqi [Thu, 8 Jan 2026 06:04:50 +0000 (22:04 -0800)]
opencl: add FILL op support (#18682)

2 months agoscripts : fix repos cloned with .git extension (#18669)
Sigbjørn Skjæret [Wed, 7 Jan 2026 21:35:34 +0000 (22:35 +0100)]
scripts : fix repos cloned with .git extension (#18669)

2 months agoconvert : more variants of rope_theta config entries (#18668)
Sigbjørn Skjæret [Wed, 7 Jan 2026 21:34:51 +0000 (22:34 +0100)]
convert : more variants of rope_theta config entries (#18668)

2 months agocuda : fix build on cuda 12.8 (#18672)
Oliver Walsh [Wed, 7 Jan 2026 21:32:44 +0000 (21:32 +0000)]
cuda : fix build on cuda 12.8 (#18672)

compute121 requires 12.9

Signed-off-by: Oliver Walsh <redacted>
2 months agofix(docker): add missing libglvnd libraries to Vulkan image (#18664)
R [Wed, 7 Jan 2026 15:57:42 +0000 (16:57 +0100)]
fix(docker): add missing libglvnd libraries to Vulkan image (#18664)

Add libglvnd0, libgl1, libglx0, libegl1, libgles2 to the Vulkan
Dockerfile base image. These libraries are required by mesa-vulkan-drivers
to properly initialize the Vulkan ICD and detect GPU devices.

Without these libraries, vkEnumeratePhysicalDevices() returns an empty
list, resulting in "ggml_vulkan: No devices found." error.

Fixes #17761

2 months agotools : remove llama-run (#18661)
Adrien Gallouët [Wed, 7 Jan 2026 15:18:26 +0000 (16:18 +0100)]
tools : remove llama-run (#18661)

* tools : remove llama-run
* Remove licenses/LICENSE-linenoise

Signed-off-by: Adrien Gallouët <redacted>
2 months agoscripts : add pr2wt.sh (#18644)
Georgi Gerganov [Wed, 7 Jan 2026 13:16:20 +0000 (15:16 +0200)]
scripts : add pr2wt.sh (#18644)

* scripts : add pr2wt.sh

* script : shebang

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

Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agoconvert : clarify sentence-transformers-dense-modules help [no ci] (#18662)
Daniel Bevenius [Wed, 7 Jan 2026 12:18:53 +0000 (13:18 +0100)]
convert : clarify sentence-transformers-dense-modules help [no ci] (#18662)

* convert : clarify sentence-transformers-dense-modules help [no ci]

This commit updates this options help message which currently looks
like this:
```console
  --sentence-transformers-dense-modules
                        Whether to include sentence-transformers dense modules.It can be used for sentence-transformers models, like
                        google/embeddinggemma-300mDefault these modules are not included.
```

2 months agoci : run cann build unconditionally [no ci] (#18659)
Sigbjørn Skjæret [Wed, 7 Jan 2026 12:07:08 +0000 (13:07 +0100)]
ci : run cann build unconditionally [no ci] (#18659)

2 months agovulkan: reject ops when a tensor is too large to allocate (#18646)
Jeff Bolz [Wed, 7 Jan 2026 11:03:32 +0000 (05:03 -0600)]
vulkan: reject ops when a tensor is too large to allocate (#18646)

2 months agovulkan: Warptile tuning for Intel Xe2/Xe3 (#18178)
virajwad [Wed, 7 Jan 2026 10:59:47 +0000 (02:59 -0800)]
vulkan: Warptile tuning for Intel Xe2/Xe3 (#18178)

* modify warptile tuning for xe3

* intel vendor check w/ coopmat support

* fix back formatting

* fix formatting change 2

* move intel check to chip specific tuning part

* Change to support both windows and linux

* modify m_warptile to l_warptile for intel

* modify warptile tuning for bf16 matmuls to fix regression (m_warptile to l_warptile)

* Code style changes

* Code style changes (2)

* Code style changes (3)

2 months agovulkan: more mul mat optimizations (#18533)
Eve [Wed, 7 Jan 2026 10:13:17 +0000 (10:13 +0000)]
vulkan: more mul mat optimizations (#18533)

* q4_k

* q5_k

* q2_k

* q4_1

* q5_1

* better buf index

2 months agoexamples : add debug utility/example (#18464)
Daniel Bevenius [Wed, 7 Jan 2026 09:42:19 +0000 (10:42 +0100)]
examples : add debug utility/example (#18464)

* examples : add debug utility/example

This commit introduces a new example named llama-debug which is a
utility that is intended to be used to assist with developing/debugging
a converted model.

The motivation for this utilitiy is to assist in model conversion work
to verify that the model produces the expected outputs. It is intended
to replace logits.cpp in examples/model-conversion.

Example usage:
```console
./build/bin/llama-debug \
    -m models/Qwen2.5-0.5B-Instruct.gguf \
    --prompt "Hello, my name is" \
    --save-logits
...
Model add_bos: false
Input prompt: "Hello, my name is"
Token ids (5):
Hello(9707) ,(11)  my(847)  name(829)  is(374)
Data saved to data/llamacpp-Qwen2.5-0.5B-Instruct.bin
Data saved to data/llamacpp-Qwen2.5-0.5B-Instruct.txt
Prompt saved to data/llamacpp-Qwen2.5-0.5B-Instruct-prompt.txt
Tokens saved to data/llamacpp-Qwen2.5-0.5B-Instruct-tokens.bin
```

For more details about the options available for this example, please
refer to examples/debug/README.md.

* throw runtime error instead of logging error

* remove params.warmup and enable the warmup/nowarmup option

* model-conversion : remove logits.cpp

This commit removes logits.cpp in favor of using llama-debug for
generating logits and embeddings.

* examples : remove model-conversion directory

This was missed in the previous commit.

* model-conversion : add support for saving prompt and token ids

This commit add support for storing the prompt and the token ids for the
prompt when running the original models.

The motivation for this is that this will allow us to compare the prompt
and the tokens generated for the prompt when verifing the converted
model. Currently it is possible that even if the same prompt is used
that the tokens generated are different if there is a difference in the
tokenization between the original and converted model which would
currently go unnoticed (the verification will most likely fail but it
might not be obvious why).

* squash! model-conversion : add support for saving prompt and token ids

fix pyright errors.

* model-conversion : add compare_tokens utility

This commit adds a script to compare token outputs between original and
converted models.

Example usage:
```console
(venv) $ ./scripts/utils/compare_tokens.py pytorch-gemma-3-270m-it llamacpp-gemma-3-270m-it-bf16

Comparing tokens between:
  Original : pytorch-gemma-3-270m-it (6 tokens)
  Converted: llamacpp-gemma-3-270m-it-bf16 (6 tokens)

✅ All 6 tokens match!
```
And there is a verbose flag that will also print out the prompts:
```console
(venv) $ ./scripts/utils/compare_tokens.py pytorch-gemma-3-270m-it llamacpp-gemma-3-270m-it-bf16 -v

Original model prompt (pytorch-gemma-3-270m-it):
  prompt: Hello, my name is
n_tokens: 6
token ids: 2, 9259, 236764, 1041, 1463, 563

Converted model prompt (llamacpp-gemma-3-270m-it-bf16):
  prompt: Hello, my name is
n_tokens: 6
token ids: 2, 9259, 236764, 1041, 1463, 563

Comparing tokens between:
  Original : pytorch-gemma-3-270m-it (6 tokens)
  Converted: llamacpp-gemma-3-270m-it-bf16 (6 tokens)

✅ All 6 tokens match!
```

* model-conversion : add token comparison to verifiction scripts

This commit add the calling of the compare_tokens function in
compare-logits.py and semantic_check.py to ensure that the token ids
that the tokenizers procoduce are the same before proceeding with
verifying the logits/embeddings.

Placing them in the existing scripts instead calling them separately
ensures that the token comparison is always done prior to the
logit/embedding verifications.

Follow up commit/pr could refactor the causal logits verification into
a single script instead of the two that exist now. This would reduce the
code and make it consistent with the embeddings verficiation which only
has a single script.

* debug : use llama_model_n_embd_out

This commit updates the debug example to use the new function
llama_model_n_embd_out instead of llama_model_n_embd.

The motivation for this change is to support late interation retriever
models, like LFM2-ColBert-350M, where the output embeddings are down
projected to a lower dimension.

* debug : add print_usage function

This commit adds a print_usage function that is passed to the
common_params_parse.

The motivation for this is that this enables a specific usage message
which will be printed after all the options, for example:
```console
example usage:

  Print tensors:

  ./build/bin/llama-debug -m model.gguf -p "Hello my name is" --verbose

  The tensors to be printed can be filtered with --tensor-filter option.

  Save logits/embeddings:

  ./build/bin/llama-debug -m model.gguf -p "Hello my name is" --save-logits

  Add --embedding to save embeddings
```

2 months agoCANN: Fix rename for get_env (#18652)
hipudding [Wed, 7 Jan 2026 08:11:31 +0000 (16:11 +0800)]
CANN: Fix rename for get_env (#18652)

In #18624, get_env in ggml-cann was renamed to get_env_as_lowercase
to accurately reflect the function’s behavior and reduce the chance
of misuse. However, the update missed renaming call sites in other
files. This commit fixes that oversight.

2 months agoCANN: Rename `get_env` to `get_env_as_lowercase` (#18624)
Raul Torres [Wed, 7 Jan 2026 02:01:25 +0000 (02:01 +0000)]
CANN: Rename `get_env` to `get_env_as_lowercase` (#18624)

2 months agoHexagon add support for f16/f32 flash attention, scale, set-rows and improve f16...
Max Krasnyansky [Wed, 7 Jan 2026 01:38:29 +0000 (17:38 -0800)]
Hexagon add support for f16/f32 flash attention, scale, set-rows and improve f16/32 matmul (#18611)

* hexagon: improve fp16 matmul and add fp32/fp16 flash-attention

* hexagon: add support for set-rows fp32 -> fp16 with i32/i64 row-idx

* hexagon: add support for SCALE fp32

* hexagon: replace scalar fp32 -> fp16 copy with HVX

* hexagon: optimize flash_atten_ext with aligned VTCM buffers and DMA

- Implements double-buffered DMA prefetching for K, V, and Mask tensors.
- Ensures K and V rows in VTCM are padded to 128 bytes to support aligned HVX operations.
- Correctly synchronizes DMA transfers to prevent race conditions.
- Uses `FLASH_ATTN_BLOCK_SIZE` of 128 for efficient chunking.

* hexagon: use aligned mad_f16

* hexagon: flash_atten more aligned ops

* hexagon: optimize scale_f32 hvx helpers

* hexagon: unroll fa loops

* hexagon: remove unused set-rows log

* hexagon: flash_attn_ext add support for DMAing Q

- Update `op_flash_attn_ext` to include Q row size in scratchpad allocation.
- Pad Q row size to 128 bytes for alignment.
- Implement DMA transfer for Q tensor in `flash_attn_ext_f16_thread`.
- Update dot product computations to use VTCM-buffered Q data.

* hexagon: fix handling of NANs hvx dotproducts

* hexagon: cleanup spad allocation in flash-atten

* hexagon: improve fp16/fp32 matmul

- Introduced `vec_dot_f16_f16` and `vec_dot_f16_f16_rx2` kernels using efficient HVX dot product intrinsics.
- Added `quantize_fp32_f16` to copy/convert weights from DDR to VTCM
- Updated `op_matmul` to use the optimized path when VTCM capacity allows and broadcasting requirements are compatible.
- Implemented fallback logic to the original implementation for complex broadcasting scenarios.

* hexagon: fix HVX_ARCH check

* hexagon: matmul cleanup and fp16 fixes

Use aligned vec_dot_f16 for 2d matmuls and unaligned version for 4d.

* hexagon: fix fp16 x fp16 matmuls and some minor refactoring

* hexagon: add support for GET_ROWS f32 -> f32

Also optimize SET_ROWS threading a bit when we have just a few rows to process.

* hexagon: optimize set-rows threading

* hexagon: update adb/run-bench.sh to properly support experimental and verbose options

* hexagon: flash_atten use aligned vectors for dot products

2 months agomtmd: mtmd_audio_streaming_istft (#18645)
Tarek Dakhran [Tue, 6 Jan 2026 20:00:29 +0000 (21:00 +0100)]
mtmd: mtmd_audio_streaming_istft (#18645)

Change is decoupled from https://github.com/ggml-org/llama.cpp/pull/18641.

[LFM2.5-Audio-1.5B](https://huggingface.co/LiquidAI/LFM2.5-Audio-1.5B)
needs streaming istft for generating output audio.

* add streaming ISTFT class (`mtmd_audio_streaming_istft`) with overlap-add for audio reconstruction
* replace global audio cache with per-instance cache, the model requires
  two independent caches, for preprocessing (audio input) and for istft
  (audio output).
* unified templated FFT/IFFT implementation supporting both forward and inverse transforms

2 months agollama-params-fit: fix last devices with low VRAM (#18494)
Johannes Gäßler [Tue, 6 Jan 2026 19:02:30 +0000 (20:02 +0100)]
llama-params-fit: fix last devices with low VRAM (#18494)

2 months agoggml : optimize cuda ssm_scan using warp-level reduction (#18505)
Aadeshveer Singh [Tue, 6 Jan 2026 18:24:34 +0000 (23:54 +0530)]
ggml : optimize cuda ssm_scan using warp-level reduction (#18505)

* ggml : optimize cuda ssm_scan using warp-level reduction

* ggml : apply code review suggestions (style, const, constexpr)

* ggml : add TODO regarding stride consistency

2 months agoarg: use CSV escape style for multiple-value args (#18643)
Xuan-Son Nguyen [Tue, 6 Jan 2026 16:51:08 +0000 (17:51 +0100)]
arg: use CSV escape style for multiple-value args (#18643)

* arg: use CSV escape style for multiple-value args

* add test

2 months agovulkan: support buffer_from_host_ptr (#18467)
Jeff Bolz [Tue, 6 Jan 2026 16:37:07 +0000 (10:37 -0600)]
vulkan: support buffer_from_host_ptr (#18467)

* vulkan: support buffer_from_host_ptr

* hacky use of buffer_from_host_ptr for directio

* disable buffer_from_host_ptr cap

* use external memory for ggml_vk_host_malloc, revert model loader changes

* disable external_memory_host for MoltenVK

* take buffer memory types into account

* don't use external_memory_host for ggml_vk_host_malloc

2 months agoggml-cuda: refactor cuda graph usage (#18637)
Aman Gupta [Tue, 6 Jan 2026 15:48:45 +0000 (23:48 +0800)]
ggml-cuda: refactor cuda graph usage (#18637)

* ggml-cuda: refactor cuda graph usage

* use is_enabled() instead of enabled

2 months agommq.cu: tune mmq/rocblas switching for RDNA (#18537)
Beinsezii [Tue, 6 Jan 2026 15:26:07 +0000 (07:26 -0800)]
mmq.cu: tune mmq/rocblas switching for RDNA (#18537)

* Patch perf regression for mmq kernels in ROCm

recover performance regression for https://github.com/ggml-org/llama.cpp/issues/17917

* add n_experts branch like the cdna path

* mmq.cu: tune mmq/wmma switching for RDNA

* mmq.cu: move amd wmma mmq/wmma switching behind IS_RDNA3

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

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

Co-authored-by: Jiacheng (Jason) Chen <redacted>
Co-authored-by: jiachengjason <redacted>
Co-authored-by: Johannes Gäßler <redacted>
2 months agoserver : add thinking content blocks to Anthropic Messages API (#18551)
R [Tue, 6 Jan 2026 15:17:13 +0000 (16:17 +0100)]
server : add thinking content blocks to Anthropic Messages API (#18551)

* server : add thinking content blocks to Anthropic Messages API

Add support for returning reasoning/thinking content in Anthropic API
responses when using models with --reasoning-format deepseek and the
thinking parameter enabled.

- Non-streaming: adds thinking block before text in content array
- Streaming: emits thinking_delta events with correct block indices
- Partial streaming: tracks reasoning state across chunks via
  anthropic_has_reasoning member variable

Tested with bartowski/DeepSeek-R1-Distill-Qwen-7B-GGUF model.

* server : fix Anthropic API streaming for thinking content blocks

Add signature field and fix duplicate content_block_start events in
Anthropic Messages API streaming responses for reasoning models.

* server: refactor Anthropic streaming state to avoid raw pointer

Replace raw pointer to task_result_state with direct field copies:
- Copy state fields in update() before processing chunk
- Use local copies in to_json_anthropic() instead of dereferencing
- Pre-compute state updates for next chunk in update()

This makes the data flow clearer and avoids unsafe pointer patterns.

2 months agogguf-py : add requests to dependencies (#18629)
Christian Kastner [Tue, 6 Jan 2026 07:56:38 +0000 (08:56 +0100)]
gguf-py : add requests to dependencies (#18629)

2 months agoggml : fix avx512bf16 build (#18623)
Adrien Gallouët [Tue, 6 Jan 2026 06:54:10 +0000 (07:54 +0100)]
ggml : fix avx512bf16 build (#18623)

- include `immintrin.h` when required
- remove unused m512bh

Signed-off-by: Adrien Gallouët <redacted>
2 months agoCANN: Make `valid_values` variable `static const` (#18627)
Raul Torres [Tue, 6 Jan 2026 03:53:28 +0000 (03:53 +0000)]
CANN: Make `valid_values` variable `static const` (#18627)

2 months agoggml webgpu: add CEIL operation support (#18605)
nwyin [Mon, 5 Jan 2026 19:38:57 +0000 (13:38 -0600)]
ggml webgpu: add CEIL operation support (#18605)

* ggml-webgpu: add CEIL operation support

      Add support for the CEIL unary operation in the WebGPU backend:
      - Add CEIL_FUNC shader template in unary_op.wgsl
      - Add 4 shader variants (f32, f16, inplace versions)
      - Initialize CEIL pipelines in ggml-webgpu.cpp
      - Register CEIL in supports_op function

* docs: update WebGPU ops support for CEIL

2 months agomodel : add LFM2-ColBert-350M (#18607)
Tarek Dakhran [Mon, 5 Jan 2026 18:52:56 +0000 (19:52 +0100)]
model : add LFM2-ColBert-350M (#18607)

* model : add LFM2-ColBert-350M

* llama_model_n_embd_out() - returns `hparams.n_embd_out` if set and fallbacks to `hparams.n_embd`

2 months agoCUDA: fix FA FP16 accumulator overflow for Granite (#18614)
Johannes Gäßler [Mon, 5 Jan 2026 18:51:13 +0000 (19:51 +0100)]
CUDA: fix FA FP16 accumulator overflow for Granite (#18614)

2 months agoadd YoutuVLForConditionalGeneration architectures (#18620)
tt [Mon, 5 Jan 2026 17:15:14 +0000 (01:15 +0800)]
add YoutuVLForConditionalGeneration architectures (#18620)

* Support Youtu-VL Model
---------

Co-authored-by: Xuan-Son Nguyen <redacted>
Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agoggml-cuda: check for srcs outside the cgraph (#18583)
Aman Gupta [Mon, 5 Jan 2026 14:46:36 +0000 (22:46 +0800)]
ggml-cuda: check for srcs outside the cgraph (#18583)

* ggml-cuda: check for srcs outside the cgraph

* review: use leafs instead

2 months agoserver : fix router child env in containerized environments (#18562)
Vladislav Sayapin [Mon, 5 Jan 2026 13:12:05 +0000 (16:12 +0300)]
server : fix router child env in containerized environments (#18562)