]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/log
pkg/ggml/sources/llama.cpp
2 months agoCI: reenable cdna in rocm docker builds (#16376)
uvos [Wed, 1 Oct 2025 21:32:39 +0000 (23:32 +0200)]
CI: reenable cdna in rocm docker builds (#16376)

2 months agoHIP: Disable ROCWMMA fattn on CDNA when compiled against ROCWMMA 2.0.0 (#16221)
uvos [Wed, 1 Oct 2025 21:09:25 +0000 (23:09 +0200)]
HIP: Disable ROCWMMA fattn on CDNA when compiled against ROCWMMA 2.0.0 (#16221)

* HIP: Disable ROCWMMA fatt on CDNA when compiled against ROCWMMA 2.0.0

rocwmma 2.0.0 includes a bug in the code fakeing fp16 accumulation on CDNA

* CUDA: Fix volta condition in ggml_cuda_should_use_wmma_fattn

2 months agollama : parameter conversion and loading fixes for PLaMo2 variants (#16075)
Shunta Saito [Wed, 1 Oct 2025 21:08:15 +0000 (06:08 +0900)]
llama : parameter conversion and loading fixes for PLaMo2 variants (#16075)

* Fix to use hidden_size_per_head

* Fix num heads

* Fix array

* Fix loading weights

* Support old GGUF converted by the previous version of llama.cpp

* Update src/llama-model.cpp

Co-authored-by: Sigbjørn Skjæret <redacted>
* Move shared parameter definitions to the outside of loop

* Not calculating n_embd_head_k,v by n_embd / n_head

---------

Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agoci: Properly install rocwmma for hip builds (#16305)
uvos [Wed, 1 Oct 2025 18:18:03 +0000 (20:18 +0200)]
ci: Properly install rocwmma for hip builds (#16305)

* CI: Properly install rocwmma for hip builds

on windows we now windows install rocwmma from ubuntu pacakges

* CI: update linux rocm docker build to use rocm 7.0

2 months agocommon: introduce http.h for httplib-based client (#16373)
Adrien Gallouët [Wed, 1 Oct 2025 17:22:18 +0000 (19:22 +0200)]
common: introduce http.h for httplib-based client (#16373)

* common: introduce http.h for httplib-based client

This change moves cpp-httplib based URL parsing and client setup into
a new header `common/http.h`, and integrates it in `arg.cpp` and `run.cpp`.

It is an iteration towards removing libcurl, while intentionally
minimizing changes to existing code to guarantee the same behavior when
`LLAMA_CURL` is used.

Signed-off-by: Adrien Gallouët <redacted>
* tools : add missing WIN32_LEAN_AND_MEAN

Signed-off-by: Adrien Gallouët <redacted>
---------

Signed-off-by: Adrien Gallouët <redacted>
Signed-off-by: Adrien Gallouët <redacted>
2 months agoConversation action dialogs as singletons from Chat Sidebar + apply conditional rende...
Aleksander Grygier [Wed, 1 Oct 2025 16:18:10 +0000 (18:18 +0200)]
Conversation action dialogs as singletons from Chat Sidebar + apply conditional rendering for Actions Dropdown for Chat Conversation Items (#16369)

* fix: Render Conversation action dialogs as singletons from Chat Sidebar level

* chore: update webui build output

* fix: Render Actions Dropdown conditionally only when user hovers conversation item + remove unused markup

* chore: Update webui static build

* fix: Always truncate conversation names

* chore: Update webui static build

2 months agoImprove code block color theming (#16325)
Aleksander Grygier [Wed, 1 Oct 2025 13:54:42 +0000 (15:54 +0200)]
Improve code block color theming (#16325)

* feat: Improve code block theming

* chore: update webui build output

* chore: Update webui static build

2 months agoci : use registry cache for docker builds (#16366)
Sigbjørn Skjæret [Wed, 1 Oct 2025 12:09:52 +0000 (14:09 +0200)]
ci : use registry cache for docker builds (#16366)

2 months agoAdd optional setting for showing "Model used:" information (#16337)
Aleksander Grygier [Wed, 1 Oct 2025 10:08:16 +0000 (12:08 +0200)]
Add optional setting for showing "Model used:" information (#16337)

* feat: Add a setting to include model name used to generate the message

* feat: UI improvements

* feat: Save model info along with the database message entry creation

* chore: Build webui static output

2 months agovulkan: make ggml_vk_default_dispatcher support older vulkan headers (#16345)
Eve [Wed, 1 Oct 2025 07:56:36 +0000 (07:56 +0000)]
vulkan: make ggml_vk_default_dispatcher support older vulkan headers (#16345)

* make ggml_vk_default_dispatcher support older vulkan headers

* simpilfy with using

2 months agowebui: Remove running `llama-server` within WebUI `dev.sh` script (#16363)
Aleksander Grygier [Wed, 1 Oct 2025 05:40:26 +0000 (07:40 +0200)]
webui: Remove running `llama-server` within WebUI `dev.sh` script (#16363)

2 months agomodel : support GLM 4.6 (make a few NextN/MTP tensors not required) (#16359)
Bartowski [Tue, 30 Sep 2025 20:24:36 +0000 (16:24 -0400)]
model : support GLM 4.6 (make a few NextN/MTP tensors not required) (#16359)

* Make a few GLM tensors not required

layer.nextn.shared_head_head and layer.nextn.embed_tokens are both excluded from GLM 4.6 resulting in the model not loading after conversion/quantization, this marks those tensors as not required which makes it work

* Update llama-model.cpp

layer.nextn.shared_head_norm also not required in case of future models

2 months agoci : fix ccache key for ubuntu-cpu-cmake (#16355)
Sigbjørn Skjæret [Tue, 30 Sep 2025 19:41:42 +0000 (21:41 +0200)]
ci : fix ccache key for ubuntu-cpu-cmake (#16355)

* fix ccache key for ubuntu-cpu-cmake

* set it for release as well [no ci]

2 months agocommon : disable progress bar without a tty (#16352)
Adrien Gallouët [Tue, 30 Sep 2025 17:52:41 +0000 (19:52 +0200)]
common : disable progress bar without a tty (#16352)

* common : disable progress bar without a tty

Signed-off-by: Adrien Gallouët <redacted>
* Add missing headers

Signed-off-by: Adrien Gallouët <redacted>
---------

Signed-off-by: Adrien Gallouët <redacted>
2 months agoopencl: support pad_ext (#15888)
lhez [Tue, 30 Sep 2025 17:45:45 +0000 (10:45 -0700)]
opencl: support pad_ext (#15888)

2 months agoChatapi ignore empty sampling (#16330)
Pascal [Tue, 30 Sep 2025 17:18:54 +0000 (19:18 +0200)]
Chatapi ignore empty sampling (#16330)

* fix: skip empty sampling fields instead of coercing to 0 in chat API options

* chore: update webui build output

2 months agoggml webgpu: support for rope,div,sub,glu,scale,cont operators (#16187)
Reese Levine [Tue, 30 Sep 2025 16:57:51 +0000 (09:57 -0700)]
ggml webgpu: support for rope,div,sub,glu,scale,cont operators (#16187)

* Work on rope

* Simplify inplace operation generation and combine mul/add generation

* Work on rope variants

* implement neox rope

* rope complete

* Add sub,div,glu operators

* implement scale op

* Update cpy shader to handle cont/more types

* formatting

* Update test vars printing for rope,rms_norm

* Avoid ROPE hardcoded constants

* Add TODO to change ROPE constants to enum

Co-authored-by: Georgi Gerganov <redacted>
* fix TODO comment

---------

Co-authored-by: Georgi Gerganov <redacted>
2 months agoopencl: support ne3 in get_rows (#15866)
lhez [Tue, 30 Sep 2025 16:55:13 +0000 (09:55 -0700)]
opencl: support ne3 in get_rows (#15866)

2 months agocommon : remove common_has_curl() (#16351)
Adrien Gallouët [Tue, 30 Sep 2025 14:39:44 +0000 (16:39 +0200)]
common : remove common_has_curl() (#16351)

`test-arg-parser.cpp` has been updated to work consistently,
regardless of whether CURL or SSL support is available, and
now always points to `ggml.ai`.

The previous timeout test has been removed, but it can be
added back by providing a dedicated URL under `ggml.ai`.

Signed-off-by: Adrien Gallouët <redacted>
2 months agoci : disable ccache for android (#16348)
Sigbjørn Skjæret [Tue, 30 Sep 2025 13:38:01 +0000 (15:38 +0200)]
ci : disable ccache for android (#16348)

2 months agoggml : bump version to 0.9.4 (ggml/1363)
Georgi Gerganov [Tue, 30 Sep 2025 10:42:39 +0000 (13:42 +0300)]
ggml : bump version to 0.9.4 (ggml/1363)

2 months agocuda : Enable CUDA Graph usage for Nemotron Nano v2 (NemotronH) (#16328)
anavp-nvidia [Tue, 30 Sep 2025 08:13:22 +0000 (08:13 +0000)]
cuda : Enable CUDA Graph usage for Nemotron Nano v2 (NemotronH) (#16328)

* Fix Nemotron Nano v2 9B not executing as CUDA Graph on NVIDIA GPUs

* fix to ensure test-backend-ops check passes

2 months agometal : dynamic simdgroups for MV kernels (#16340)
Georgi Gerganov [Tue, 30 Sep 2025 08:03:23 +0000 (11:03 +0300)]
metal : dynamic simdgroups for MV kernels (#16340)

* metal : dynamic simdgroups for MV kernels

* cont : minor

2 months agocommon : simplify etag tracking by removing json (#16342) upstream/0.0.6641
Adrien Gallouët [Tue, 30 Sep 2025 07:36:33 +0000 (09:36 +0200)]
common : simplify etag tracking by removing json (#16342)

The JSON parser is temporarily kept only for backward compatibility. It
reads the etag from old .json files to prevent unnecessary re-downloads
for existing users.

This legacy code can be removed in a future version.

Signed-off-by: Adrien Gallouët <redacted>
2 months agokleidiai : fix work size and threads sync for fp16 (#16246)
Charles Xu [Tue, 30 Sep 2025 07:07:20 +0000 (09:07 +0200)]
kleidiai : fix work size and threads sync for fp16 (#16246)

2 months agocodeowners: add codeowners for opencl backend (#16344)
lhez [Tue, 30 Sep 2025 05:30:16 +0000 (22:30 -0700)]
codeowners: add codeowners for opencl backend (#16344)

2 months agotests: override test_set_rows::max_nmse_err to allow for occasional rounding differen...
Jeff Bolz [Tue, 30 Sep 2025 00:26:34 +0000 (19:26 -0500)]
tests: override test_set_rows::max_nmse_err to allow for occasional rounding differences (#16295)

* tests: override test_set_rows::max_nmse_err to allow for occasional rounding differences

* apply similar error bounds to test_cpy

2 months agoFix thinking blocks with quotes + add handling `[THINK]...[/THINK]` blocks (#16326)
Pascal [Mon, 29 Sep 2025 16:49:47 +0000 (18:49 +0200)]
Fix thinking blocks with quotes + add handling `[THINK]...[/THINK]` blocks (#16326)

* fix: prevent reasoning blocks with quotes from being truncated

* chore: update webui build output

* feat: Improve thinking content parsing

* test: Adds ChatMessage component stories for different thinking blocks

* chore: update webui build output

* fix: ChatMessage story fix

---------

Co-authored-by: Aleksander Grygier <redacted>
2 months agoci : add AMD runners and workflows (#16249)
Georgi Gerganov [Mon, 29 Sep 2025 14:51:48 +0000 (17:51 +0300)]
ci : add AMD runners and workflows (#16249)

* ci : add AMD runners and workflows

* ci : move AMD jobs to separate workflow

* cont : fix paths

2 months agoggml: riscv: add riscv spacemit backend (#15288)
alex-spacemit [Mon, 29 Sep 2025 14:50:44 +0000 (22:50 +0800)]
ggml: riscv: add riscv spacemit backend (#15288)

* ggml: add spacemit backend

Change-Id: I249bdc043485d815a9c351867137bc1e27cc2e23

* add new line at end of file

Change-Id: I889ed1c85fb45e62350ecde0c06f70450cadfbe2

* add riscv zba extension limit

Change-Id: I321eb200f859751727afe5cae13074dfce2bb0ce

* fixed for review comments, file renamed and format

Change-Id: Ia20b6ec24a36638e62e0fe07cf100916a7cce3ce

* fixed for code format, after clang-format

Change-Id: I5dc33a0412da3d3f2d77075d8939185d3009eca2

* use _Float16 instead of __fp16

Change-Id: I039fb02bb95270e641bc4442204e658735859d43

* add ci for riscv64-spacemit-ime-native

Change-Id: I711c1033061df1a289ea77891b2997599dfe8279

* update debian-13-riscv64-spacemit-ime-native ci label

Change-Id: Ifb2b891e2fca57b5da604fce2ac255f27731179a

* remove license comment for spacemit ime

Change-Id: If0dc3ca30a958631ccca0a28b62e0b825f9fb0c3

* upgrade binutils for gcc ime

Change-Id: Ibf2fa74c1064408974cb5b45f044d40987e5fb45

* add spacemit ime cross jobs

Change-Id: I80d74909941d41cb9cd09e51d8baf01c985cbfc6

* remove native compile for riscv64-spacemit-ime

Change-Id: I01920afafdc73fa7424014fd648d243f8ec9e25e

* ci : add caching for spacemit ime cross toolchain

Change-Id: Ic54a192019a2fd982bbd58225ce3bbc38f4053de

* ci: bug fixed for cache path and env

Change-Id: I28c42e10b6fff053bb6580926ca2353448cb042a

* Update .github/workflows/build-linux-cross.yml for cache path

Co-authored-by: Sigbjørn Skjæret <redacted>
* bugfixed for  build-linux-cross.yml,  syntax error

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

Co-authored-by: cailinxi <redacted>
Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agosync : ggml
Georgi Gerganov [Mon, 29 Sep 2025 13:50:52 +0000 (16:50 +0300)]
sync : ggml

2 months agosync : whisper.cpp (ggml/1359)
Georgi Gerganov [Mon, 29 Sep 2025 13:49:11 +0000 (16:49 +0300)]
sync : whisper.cpp (ggml/1359)

* ggml : Fix MKL detection by quoting BLAS_INCLUDE_DIRS (whisper/3426)

* sync : whisper.cpp

2 months agoggml : remove -dev suffix from release version (ggml/1355)
Daniel Bevenius [Fri, 26 Sep 2025 15:34:42 +0000 (17:34 +0200)]
ggml : remove -dev suffix from release version (ggml/1355)

This commit removes the `-dev` suffix from the version string in
CMakeLists.txt and the release script. The version will now be
just be formatted as `MAJOR.MINOR.PATCH`.

2 months agoggml : bump version to 0.9.3 (ggml/1353)
Daniel Bevenius [Thu, 25 Sep 2025 12:39:05 +0000 (14:39 +0200)]
ggml : bump version to 0.9.3 (ggml/1353)

2 months agoggml : prepare for development of 0.9.2-dev
Georgi Gerganov [Sat, 20 Sep 2025 13:44:23 +0000 (16:44 +0300)]
ggml : prepare for development of 0.9.2-dev

2 months agoggml : bump version to 0.9.1
Georgi Gerganov [Sat, 20 Sep 2025 13:44:23 +0000 (16:44 +0300)]
ggml : bump version to 0.9.1

2 months agoggml-backend : add root cause in error message if loading backend library fails ...
Rafal Lewczuk [Mon, 29 Sep 2025 11:17:09 +0000 (13:17 +0200)]
ggml-backend : add root cause in error message if loading backend library fails (#16172)

This PR adds additional information to an error message when loading backend library via ld_load_library() fails. This helps spotting why backend library did not load (missing library, missing dependency or unresolved symbol etc.).

2 months agoggml : check cuda and metal argsort limits and add test (#16323)
Sigbjørn Skjæret [Mon, 29 Sep 2025 09:09:00 +0000 (11:09 +0200)]
ggml : check cuda and metal argsort limits and add test (#16323)

* check cuda argsort limits and add test

* add metal check

2 months agoImprove Mobile UI for dialogs and action dropdowns (#16222)
Aleksander Grygier [Mon, 29 Sep 2025 08:37:20 +0000 (10:37 +0200)]
Improve Mobile UI for dialogs and action dropdowns (#16222)

* fix: Always show conversation item actions

* feat: Improve Alert Dialog and Dialog mobile UI

* feat: Add settings reset to default confirmation

* fix: Close Edit dialog on save

* chore: update webui build output

* webui: implement proper z-index system and scroll management

- Add CSS variable for centralized z-index control
- Fix dropdown positioning with Settings dialog conflicts
- Prevent external scroll interference with proper event handling
- Clean up hardcoded z-index values for maintainable architecture

* webui: ensured the settings dialog enforces dynamic viewport height on mobile while retaining existing desktop sizing overrides

* feat: Use `dvh` instead of computed px height for dialogs max height on mobile

* chore: update webui build output

* feat: Improve Settings fields UI

* chore: update webui build output

* chore: update webui build output

---------

Co-authored-by: Pascal <redacted>
2 months agofix: preserved zero values in chat settings inputs and textareas by switching to...
Pascal [Mon, 29 Sep 2025 07:08:41 +0000 (09:08 +0200)]
fix: preserved zero values in chat settings inputs and textareas by switching to nullish coalescing for field values and default placeholders (#16312)

2 months agollama-cli: prevent spurious assistant token (#16202)
Vinkal [Mon, 29 Sep 2025 07:03:12 +0000 (12:33 +0530)]
llama-cli: prevent spurious assistant token (#16202)

* tools/main: llama-cli: prevent spurious assistant token (#13402)

During prompt ingestion, prompt tokens are accepted into the sampler history (for repetition penalties). The conversation-mode path then appended `common_sampler_last(smpl)` to `assistant_ss` before any new token was sampled. At that point, "last" was a prompt-side token (e.g., an input prefix), so the assistant chat message began with an extra piece.

Fix: append to `assistant_ss` only for a newly sampled (non-EOG) token. This affects only chat message assembly (`assistant_ss` / `chat_msgs` / `common_chat_format_single`); terminal stdout is unchanged. Sampling order/logits are unchanged.

Fixes #13402.

Signed-off-by: Vinkal Chudgar <redacted>
* Update tools/main/main.cpp

Co-authored-by: Sigbjørn Skjæret <redacted>
* tools/main: remove outdated comment

Signed-off-by: Vinkal Chudgar <redacted>
---------

Signed-off-by: Vinkal Chudgar <redacted>
Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agoperplexity : show more kl-divergence data (#16321)
ddh0 [Mon, 29 Sep 2025 06:30:45 +0000 (01:30 -0500)]
perplexity : show more kl-divergence data (#16321)

Adds additional percentile data for displayed in the output of `llama-perplexity --kl-divergence`:
- Added 95 percentile (mirroring existing 5 percentile)
- Added 0.1 percentile (mirroring existing 99.9 percentile)

2 months agoggml : fix dependencies for ggml_set_rows (#16318)
Georgi Gerganov [Mon, 29 Sep 2025 05:41:28 +0000 (08:41 +0300)]
ggml : fix dependencies for ggml_set_rows (#16318)

2 months agovulkan: Fix validation failure in quantized flash attention (#16292)
Jeff Bolz [Mon, 29 Sep 2025 04:50:37 +0000 (23:50 -0500)]
vulkan: Fix validation failure in quantized flash attention (#16292)

2 months agoggml : fix GGML_F32_VEC_FMA argument order in ggml_vec_mad1_f32 (#16307)
Sigbjørn Skjæret [Sun, 28 Sep 2025 21:15:03 +0000 (23:15 +0200)]
ggml : fix GGML_F32_VEC_FMA argument order in ggml_vec_mad1_f32 (#16307)

* fix GGML_F32_VEC_FMA argument order in ggml_vec_mad1_f32

* add test that fails on simd

2 months agocommon : fix reasoning before forced tool call via tool_choice = required (#16264)
crat0z [Sun, 28 Sep 2025 18:13:50 +0000 (14:13 -0400)]
common : fix reasoning before forced tool call via tool_choice = required (#16264)

* common : fix reasoning before forced tool call via tool_choice = required

* common : improve reasoning and commentary handling when tool_choice is required

(cherry picked from commit c746984956d6882c2de73d53ae2bb3bdf889e475)

---------

Co-authored-by: Alde Rojas <redacted>
2 months agoci : fix musa docker build (#16306)
R0CKSTAR [Sun, 28 Sep 2025 14:38:15 +0000 (22:38 +0800)]
ci : fix musa docker build (#16306)

Signed-off-by: Xiaodong Ye <redacted>
2 months agodevops: switch to using ubuntu-22.04-s390x image (#16302)
Aaron Teo [Sun, 28 Sep 2025 11:25:58 +0000 (19:25 +0800)]
devops: switch to using ubuntu-22.04-s390x image (#16302)

Signed-off-by: Aaron Teo <redacted>
2 months agoFixed a few typos in the README of the LLaMA.cpp HTTP Server [no ci] (#16297)
Imad Saddik [Sun, 28 Sep 2025 11:04:46 +0000 (12:04 +0100)]
Fixed a few typos in the README of the LLaMA.cpp HTTP Server [no ci] (#16297)

2 months agovulkan: 64-bit im2col (#16135)
Jeff Bolz [Sun, 28 Sep 2025 06:38:37 +0000 (01:38 -0500)]
vulkan: 64-bit im2col (#16135)

* vulkan: 64-bit im2col

Add variants of the im2col shaders that use buffer_device_address/buffer_reference,
and use 64-bit address calculations. This is needed for large convolutions used in
stable-diffusion.cpp.

* fix validation error for large im2col

2 months agometal : extend mat-mat multiplication support (#16225)
Georgi Gerganov [Sun, 28 Sep 2025 06:34:44 +0000 (09:34 +0300)]
metal : extend mat-mat multiplication support (#16225)

* metal : support mul_mm with src1->type == GGML_TYPE_F16

* metal : support mul_mm_id with src1->type == GGML_TYPE_F16

[no ci]

* metal : mul_mm support ne00 % 32 != 0

* metal : support mul_mm_id with ne00 % 32 != 0

* cont : remove unnecessary unrolls

* cont : simplify data loading

* metal : optimize mul_mm when output bounds checks are not needed

2 months agometal : fuse non-sequential nodes (#16102)
Georgi Gerganov [Sun, 28 Sep 2025 06:34:05 +0000 (09:34 +0300)]
metal : fuse non-sequential nodes (#16102)

* metal : fuse non-sequential nodes

* cont : add comment

* cont : simplify bounds checks

2 months agovulkan: handle mat_mul with A matrix > 4GB (#16176)
Jeff Bolz [Sun, 28 Sep 2025 01:36:34 +0000 (20:36 -0500)]
vulkan: handle mat_mul with A matrix > 4GB (#16176)

* vulkan: handle mat_mul with A matrix > 4GB

This change splits mat_mul operations with huge A matrix into chunks in the M
dimension. This works well for stable-diffusion use cases where the im2col
matrix has very large M.

Fix the order of setting the stride in mul_mm_cm2 - setting the dimension
clobbers the stride, so stride should be set after.

* build fixes

2 months agovulkan: support arbitrary KV dimension in flash attention (#16160)
Jeff Bolz [Sat, 27 Sep 2025 20:43:39 +0000 (16:43 -0400)]
vulkan: support arbitrary KV dimension in flash attention (#16160)

The "Clamp" spec constant is already based on whether KV is a multiple of Bc,
so use that to control whether bounds checking is performed. Add bounds checking
to the scalar and coopmat1 paths. Coopmat2 didn't need any changes (the K/V
tensors are already optionally clamped, nothing else needed to be changed).

2 months agovulkan : make the vulkan.hpp dynamic dispatcher instance private (#16224)
Acly [Sat, 27 Sep 2025 20:41:03 +0000 (22:41 +0200)]
vulkan : make the vulkan.hpp dynamic dispatcher instance private (#16224)

* don't use VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE which can cause conflicts if application or other libraries do the same

2 months agoShow message actions by default (#16289)
Aleksander Grygier [Sat, 27 Sep 2025 17:56:40 +0000 (19:56 +0200)]
Show message actions by default (#16289)

2 months agoCUDA: mul_mat_id for mmf for bs <= 64 for f16 and bs <= 32 for f32 (#16277)
Aman Gupta [Sat, 27 Sep 2025 16:49:32 +0000 (00:49 +0800)]
CUDA: mul_mat_id for mmf for bs <= 64 for f16 and bs <= 32 for f32 (#16277)

* CUDA: mul_mat_id for mmf for bs <= 64 for f16 and bs <= 32 for f32

This commit adds mul_mat_id support for ncols_dst >= 16. It does this by
packing ncols_dst tiles into the blockDim.y.

My tests on a RTX 3090 show that this is faster than the cuBLAS fallback
for f16 till bs=64, and for f32 till bs=32

* Review: refactor if statement

2 months agoCUDA: refactor and deduplicate vector FA kernels (#16208)
Johannes Gäßler [Sat, 27 Sep 2025 16:45:07 +0000 (18:45 +0200)]
CUDA: refactor and deduplicate vector FA kernels (#16208)

* CUDA: refactor and deduplicate vector FA kernels

2 months agovulkan: throw system error instead of SIGABRT during init on older devices (#16156)
Dmytro Minochkin [Sat, 27 Sep 2025 16:26:46 +0000 (19:26 +0300)]
vulkan: throw system error instead of SIGABRT during init on older devices (#16156)

* Throw system error on old Vulkan driver rather than SIGABRT

* Optionally handle any potential error in vulkan init

2 months agoserver : remove old LLAMA_SERVER_SSL (#16290)
Adrien Gallouët [Sat, 27 Sep 2025 16:17:08 +0000 (18:17 +0200)]
server : remove old LLAMA_SERVER_SSL (#16290)

Signed-off-by: Adrien Gallouët <redacted>
2 months agovulkan: support GET_ROWS for k-quants (#16235)
Jeff Bolz [Sat, 27 Sep 2025 10:36:11 +0000 (06:36 -0400)]
vulkan: support GET_ROWS for k-quants (#16235)

The dequantize functions are copy/pasted from mul_mm_funcs.comp with very few
changes - add a_offset and divide iqs by 2. It's probably possible to call
these functions from mul_mm_funcs and avoid the duplication, but I didn't go
that far in this change.

2 months agobuild : add LLAMA_OPENSSL option (#16287)
Adrien Gallouët [Sat, 27 Sep 2025 09:12:46 +0000 (11:12 +0200)]
build : add LLAMA_OPENSSL option (#16287)

Introduce a new `LLAMA_OPENSSL` option, enabled by default.

This preserves the previous default (libcurl first, OpenSSL as fallback),
while allowing OpenSSL to be disabled if desired.

Signed-off-by: Adrien Gallouët <redacted>
2 months agomodel : make minicpm embedding_scale, residual_scale and logit_scale optional with...
Vinkal [Fri, 26 Sep 2025 21:28:29 +0000 (02:58 +0530)]
model : make minicpm embedding_scale, residual_scale and logit_scale optional with legacy defaults (#16273)

* minicpm: make GGUF scaling keys optional with legacy defaults

Older MiniCPM GGUFs do not include the scaling metadata keys (minicpm.embedding_scale, minicpm.residual_scale, minicpm.logit_scale). The loader currently treats these as required, so quantization fails with:

    key not found in model: minicpm.embedding_scale

This change restores backward compatibility by treating these keys as optional in the loader and using the older MiniCPM scaling values:

    embedding_scale = 12.0f
    residual_scale  = 1.4f / sqrt(n_layer)
    logit_scale     = 256.0f / n_embd

When the GGUF provides the keys, their values override the defaults; otherwise the legacy defaults are used. Newer GGUFs that already include these keys are unaffected.

Fixes: #16192
Signed-off-by: Vinkal Chudgar <redacted>
* Update src/llama-model.cpp

Committed as suggested. Thanks!

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

Signed-off-by: Vinkal Chudgar <redacted>
Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agodevops: add s390x & ppc64le CI (#15925)
Aaron Teo [Fri, 26 Sep 2025 18:03:33 +0000 (02:03 +0800)]
devops: add s390x & ppc64le CI (#15925)

* devops: move s390x and ppc64le ci build

we have access to ubuntu-24.04-s390x and ppc64le images now

Signed-off-by: Aaron Teo <redacted>
* devops: disable ppc64le for now since they have compiler errors

Signed-off-by: Aaron Teo <redacted>
* devops: stop warnings as errors

Signed-off-by: Aaron Teo <redacted>
* devops: switch to non-macro flag

Signed-off-by: Aaron Teo <redacted>
* devops: going the llama macro route

Signed-off-by: Aaron Teo <redacted>
* devops: add big-endian gguf test models

Signed-off-by: Aaron Teo <redacted>
* devops: disable ppc64le to test s390x, check test build

Signed-off-by: Aaron Teo <redacted>
* devops: dup .gguf.inp files for big-endian tests

Signed-off-by: Aaron Teo <redacted>
* devops: dup .gguf.out files for big-endian too

Signed-off-by: Aaron Teo <redacted>
* devops: add python setup and endian byteswap

Signed-off-by: Aaron Teo <redacted>
* devops: pooring thing does not have s390x python3

Signed-off-by: Aaron Teo <redacted>
* devops: add missing rust compiler for s390x

Signed-off-by: Aaron Teo <redacted>
* devops: try rust actions runner

Signed-off-by: Aaron Teo <redacted>
* Revert "devops: try rust actions runner"

This reverts commit 3f8db04356033d6c1d7eccc75ca396bc5298250c.

Signed-off-by: Aaron Teo <redacted>
* devops: try a different path for rust

Signed-off-by: Aaron Teo <redacted>
* devops: dump home directory and user info

Signed-off-by: Aaron Teo <redacted>
* devops: install gguf-py only

Signed-off-by: Aaron Teo <redacted>
* devops: missed relative path

Signed-off-by: Aaron Teo <redacted>
* devops: remove big-endian files since local swapping is working

Signed-off-by: Aaron Teo <redacted>
* devops: revert test-tokenizer-0 cmakelists

Signed-off-by: Aaron Teo <redacted>
* Fix unicode flags conversion from and to uint16_t

Bitfields are allocated in different order on s390x

Signed-off-by: Aaron Teo <redacted>
* Simplify byteswap command

Signed-off-by: Aaron Teo <redacted>
* Add byteswapping and git-lfs for test-tokenizers-ggml-vocabs

Signed-off-by: Aaron Teo <redacted>
* Fix endianness detection in vocab loader

Signed-off-by: Aaron Teo <redacted>
* Disable test-thread-safety on s390x

In this test a model is downloaded,
then immediately loaded to check if more downloads are needed,
and then used for test.

There is no clean way to separate all those steps
 to add byteswapping between them, so just skip this test.

Signed-off-by: Aaron Teo <redacted>
* Fix q8_0 test in test-quantize-fns

vec_signed uses unexpected rounding mode.
Explicitly use different rounding function.

Signed-off-by: Aaron Teo <redacted>
* devops: add big-endian stories260K

Signed-off-by: Aaron Teo <redacted>
* devops: add s390x test-eval-callback

Signed-off-by: Aaron Teo <redacted>
* devops: fix test does not exist

Signed-off-by: Aaron Teo <redacted>
* devops: fix model not found llama-eval-callback

Signed-off-by: Aaron Teo <redacted>
* Fix q3_K dot product error in test-quantize-fns on s390x

Array q8bytes had only 4 elements allocated, but 8 elements accessed.
This lead to write out of bounds and later read of overwritten values out of bounds
and incorrect result.

Signed-off-by: Aaron Teo <redacted>
* devops: re-enable ppc64le for testing

Signed-off-by: Aaron Teo <redacted>
* devops: activate test-thread-safety for s390x

Signed-off-by: Aaron Teo <redacted>
* devops: disable ppc64le tests

for some reason it keeps failing test-thread-safety tests and I do not
    have a machine that is able to replicate the tests.

Signed-off-by: Aaron Teo <redacted>
* devops: LLAMA_FATAL_WARNINGS=ON

Signed-off-by: Aaron Teo <redacted>
* Correct repository URL for s390x for test-thread-safety model

Signed-off-by: Aaron Teo <redacted>
* Fix fs_get_cache_directory

Ensure it works even if both XDG_CACHE_HOME and HOME are unset.
This might happen in containers.

Signed-off-by: Aaron Teo <redacted>
* Re-enable CI for ppc64le

Signed-off-by: Aaron Teo <redacted>
* Fortify ggml_rope_impl

Only memcpy data from sections argument if it's non-NULL.

Signed-off-by: Aaron Teo <redacted>
* Add TODO in struct unicode_cpt_flags to reimplement it in endian-independent way

* Update URL for big-endian model

* Update .github/workflows/build.yml

Co-authored-by: Sigbjørn Skjæret <redacted>
* Update remaining mentions of BE models to ggml-org/models repo

---------

Signed-off-by: Aaron Teo <redacted>
Co-authored-by: Aleksei Nikiforov <redacted>
Co-authored-by: Aleksei Nikiforov <redacted>
Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agoEnhance text file detection logic for file attachments (#16199)
Aleksander Grygier [Fri, 26 Sep 2025 17:25:29 +0000 (19:25 +0200)]
Enhance text file detection logic for file attachments (#16199)

* feat: Enhances text file detection logic

* chore: Build static `webui` output

* chore: update webui build output

2 months agoAllow viewing conversations even when llama server is down (#16255)
Aleksander Grygier [Fri, 26 Sep 2025 16:35:42 +0000 (18:35 +0200)]
Allow viewing conversations even when llama server is down (#16255)

* webui: allow viewing conversations and sending messages even if llama-server is down

- Cached llama.cpp server properties in browser localStorage on startup, persisting successful fetches and reloading them when refresh attempts fail so the chat UI continues to render while the backend is unavailable.
- Cleared the stored server properties when resetting the store to prevent stale capability data after cache-backed operation.
- Kept the original error-splash behavior when no cached props exist so fresh installs still surface a clear failure state instead of rendering stale data.

* feat: Add UI for `props` endpoint unavailable + cleanup logic

* webui: extend cached props fallback to offline errors

Treat connection failures (refused, DNS, timeout, fetch) the same way as
server 5xx so the warning banner shows up when cache is available, instead
of falling back to a full error screen.

* webui: Left the chat form enabled when a server warning is present so operators can keep sending messages

e.g., to restart the backend over llama-swap, even while cached /props data is in use

* chore: update webui build output

---------

Co-authored-by: Pascal <redacted>
2 months agowebui: switch to hash-based routing (alternative of #16079) (#16157)
Isaac McFadyen [Fri, 26 Sep 2025 15:36:48 +0000 (11:36 -0400)]
webui: switch to hash-based routing (alternative of #16079) (#16157)

* Switched web UI to hash-based routing

* Added hash to missed goto function call

* Removed outdated SPA handling code

* Fixed broken sidebar home link

2 months agoAlways show message actions for mobile UI + improvements for user message sizing...
Aleksander Grygier [Fri, 26 Sep 2025 13:59:07 +0000 (15:59 +0200)]
Always show message actions for mobile UI + improvements for user message sizing (#16076)

2 months agocodeowners : add rgerganov as owner of RPC [no ci] (#16279)
Radoslav Gerganov [Fri, 26 Sep 2025 13:09:34 +0000 (16:09 +0300)]
codeowners : add rgerganov as owner of RPC [no ci] (#16279)

2 months agomtmd : fix uninitialized variable in bicubic_resize (#16275)
Aleksei Nikiforov [Fri, 26 Sep 2025 13:00:44 +0000 (15:00 +0200)]
mtmd : fix uninitialized variable in bicubic_resize (#16275)

Signed-off-by: Aaron Teo <redacted>
Co-authored-by: Aaron Teo <redacted>
2 months agometal : report OOM errors (#16274)
Georgi Gerganov [Fri, 26 Sep 2025 11:14:28 +0000 (14:14 +0300)]
metal : report OOM errors (#16274)

2 months agocommon : use cpp-httplib as a cURL alternative for downloads (#16185)
Adrien Gallouët [Fri, 26 Sep 2025 11:12:19 +0000 (13:12 +0200)]
common : use cpp-httplib as a cURL alternative for downloads (#16185)

* vendor : update httplib

Signed-off-by: Adrien Gallouët <redacted>
* common : use cpp-httplib as a cURL alternative for downloads

The existing cURL implementation is intentionally left untouched to
prevent any regressions and to allow for safe, side-by-side testing by
toggling the `LLAMA_CURL` CMake option.

Signed-off-by: Adrien Gallouët <redacted>
* ggml : Bump to Windows 10

Signed-off-by: Adrien Gallouët <redacted>
---------

Signed-off-by: Adrien Gallouët <redacted>
2 months agobuild : fix build-ios-device (#16257)
Adrien Gallouët [Fri, 26 Sep 2025 10:39:35 +0000 (12:39 +0200)]
build : fix build-ios-device (#16257)

Signed-off-by: Adrien Gallouët <redacted>
2 months agoggml-cpu: implement MXFP4 SIMD for s390x (#16193)
Aaron Teo [Fri, 26 Sep 2025 10:27:25 +0000 (18:27 +0800)]
ggml-cpu: implement MXFP4 SIMD for s390x (#16193)

* ggml-cpu: impl mxfp4 s390x

Signed-off-by: Aaron Teo <redacted>
* ggml-cpu: missing s = sumf

Signed-off-by: Aaron Teo <redacted>
* ggml-cpu: fix incorrect kval_mxfp4 type

Signed-off-by: Aaron Teo <redacted>
* ggml-cpu: rework mxfp4

Signed-off-by: Aaron Teo <redacted>
* ggml-cpu: missing delta calc

Signed-off-by: Aaron Teo <redacted>
* ggml-cpu: fix typo

Signed-off-by: Aaron Teo <redacted>
* ggml-cpu: fix typo for vec_splats

Signed-off-by: Aaron Teo <redacted>
* ggml-cpu: expand to 2 blocks per loop

Signed-off-by: Aaron Teo <redacted>
* ggml-cpu: add unroll to boost perf

Signed-off-by: Aaron Teo <redacted>
* ggml-cpu: back to 1 block per loop to test perf

Signed-off-by: Aaron Teo <redacted>
* Revert "ggml-cpu: back to 1 block per loop to test perf"

This reverts commit 1fe55724e2dc295701101bf838bdd4a512237492.

Signed-off-by: Aaron Teo <redacted>
* ggml-cpu: rm unroll from single block

Signed-off-by: Aaron Teo <redacted>
---------

Signed-off-by: Aaron Teo <redacted>
2 months agoci : create git tags for released docker images (#16008)
Radoslav Gerganov [Fri, 26 Sep 2025 10:19:23 +0000 (13:19 +0300)]
ci : create git tags for released docker images (#16008)

* ci : create git tags for released docker images

When releasing a docker image for build number X, we should also create
the corresponding git tag. This allows users to easily checkout the
corresponding source tree for given docker image.

* Update .github/workflows/docker.yml

Co-authored-by: Sigbjørn Skjæret <redacted>
* Update .github/workflows/docker.yml

Co-authored-by: Sigbjørn Skjæret <redacted>
* Apply suggestion from @CISC

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

Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agocodeowners : add danbev as owner of build-xcframework.sh [no ci] (#16268)
Daniel Bevenius [Fri, 26 Sep 2025 05:53:36 +0000 (07:53 +0200)]
codeowners : add danbev as owner of build-xcframework.sh [no ci] (#16268)

2 months agomusa: upgrade musa sdk to 4.3.0 (#16240)
R0CKSTAR [Fri, 26 Sep 2025 00:56:38 +0000 (08:56 +0800)]
musa: upgrade musa sdk to 4.3.0 (#16240)

Signed-off-by: Xiaodong Ye <redacted>
2 months agomusa: fix build warnings (#15611)
R0CKSTAR [Fri, 26 Sep 2025 00:56:10 +0000 (08:56 +0800)]
musa: fix build warnings (#15611)

Signed-off-by: Xiaodong Ye <redacted>
2 months agomodel : add GroveMoE support (#15510)
Sigbjørn Skjæret [Thu, 25 Sep 2025 17:50:28 +0000 (19:50 +0200)]
model : add GroveMoE support (#15510)

* add GroveMoE support

* remove constexpr that fails on certain compilers

* revert crude scalar div implementation, use cast

* build_attn_inp_kv_unified -> build_attn_inp_kv

* fix build_attn

* re-apply ffn_exps regex changes

2 months agovendors: update miniaudio version (#16212)
Aaron Teo [Thu, 25 Sep 2025 15:38:10 +0000 (23:38 +0800)]
vendors: update miniaudio version (#16212)

* vendor: update miniaudio.h

Signed-off-by: Aaron Teo <redacted>
* vendor: update miniaudio.h

Signed-off-by: Aaron Teo <redacted>
---------

Signed-off-by: Aaron Teo <redacted>
2 months agoreadme : update bindings (#16144)
rtaluyev [Thu, 25 Sep 2025 15:20:34 +0000 (18:20 +0300)]
readme : update bindings (#16144)

Link to Java JNA bindings to llama.cpp native libraries

2 months agoCUDA: add a fused top-K MoE kernel (#16130)
Aman Gupta [Thu, 25 Sep 2025 14:35:05 +0000 (22:35 +0800)]
CUDA: add a fused top-K MoE kernel (#16130)

* CUDA: add a fused top-K MoE kernel

This kernel does the following:
1. softmax over the logits per token [n_experts, n_tokens]
2. argmax reduce over the top-k (n_experts_used) logits
3. write weights + ids to global memory

It is intended as fusion of softmax->top-k->get_rows pipeline for MoE models

* Refactor into ggml_cuda_should_use_topk_moe

* Review: Use better coalescing pattern, use WARP_SIZE, store logits into registers before

* Review: format + micro-optimizations

* Fix bug: fix tie breakers

* Add optional norm + clean-up code

* Use smem for final write

* Add bounds check

* Use better memory pattern for writeback

2 months agomodel-conversion : add embedding prompt file support (#15871)
Daniel Bevenius [Thu, 25 Sep 2025 10:02:36 +0000 (12:02 +0200)]
model-conversion : add embedding prompt file support (#15871)

This commit adds support for passing a prompt file to the model
conversion targets/scripts. It also updates the logits.cpp to print out
embedding information in the same format as when running the original
embedding model.

The motivation for this is that it allows us to pass files of different
sizes when running the converted models and validating the logits.

This can be particularly important when testing the sliding window
functionality of models where the sequence length needs to exceed a
certain number of tokens to trigger the sliding window logic.

2 months agoserver : add support for external server for tests (#16243)
Daniel Bevenius [Thu, 25 Sep 2025 09:36:47 +0000 (11:36 +0200)]
server : add support for external server for tests (#16243)

This commit adds support for using an externally started llama-server
instance for the server tests. This can be enabled by setting the
DEBUG_EXTERNAL environment variable.

The motivation for this is to allow debugging of the server itself
when investigating a test failure. Instructions for how to do this are
added to the README.md file in the tests directory.

2 months agoggml : fix loongarch lsx compilation error (#15864)
junchao-zhao [Thu, 25 Sep 2025 09:22:55 +0000 (17:22 +0800)]
ggml : fix loongarch lsx compilation error (#15864)

2 months agodocs: fix typo [no ci] (#16244)
Johannes Gäßler [Thu, 25 Sep 2025 09:12:27 +0000 (11:12 +0200)]
docs: fix typo [no ci] (#16244)

2 months agollama : add support for qwen3 reranker (#15824)
Douglas Hanley [Thu, 25 Sep 2025 08:53:09 +0000 (03:53 -0500)]
llama : add support for qwen3 reranker (#15824)

2 months agometal : fuse NORM + MUL + ADD, support non-multiples of 4 (#16220)
Georgi Gerganov [Thu, 25 Sep 2025 08:30:16 +0000 (11:30 +0300)]
metal : fuse NORM + MUL + ADD, support non-multiples of 4 (#16220)

* metal : fuse NORM + MUL + ADD

* metal : support norms of non-multiple of 4

* cont : fix comment [no ci]

2 months agometal : relax reorder conditions (#16216)
Georgi Gerganov [Thu, 25 Sep 2025 08:29:42 +0000 (11:29 +0300)]
metal : relax reorder conditions (#16216)

2 months agometal : restore im2col perf (#16219)
Georgi Gerganov [Thu, 25 Sep 2025 08:29:08 +0000 (11:29 +0300)]
metal : restore im2col perf (#16219)

2 months agorpc : use ggml logging facilities
Radoslav Gerganov [Thu, 25 Sep 2025 07:20:02 +0000 (10:20 +0300)]
rpc : use ggml logging facilities

Use RPC_DEBUG environment variable to enable debug messages.
Add helper macro LOG_DBG() which does an early
check of the env var before calling GGML_LOG_DEBUG().
Make sure we log a debug message for every server function.

2 months agocodeowners: add ownership of zdnn backend [no ci] (#16232)
Aaron Teo [Thu, 25 Sep 2025 05:06:30 +0000 (13:06 +0800)]
codeowners: add ownership of zdnn backend [no ci] (#16232)

add @Andreas-Krebbel to owners of zDNN backend

Signed-off-by: Aaron Teo <redacted>
2 months agoci: run the x64 and arm ci on the github machines instead (#16183)
Eve [Thu, 25 Sep 2025 05:06:06 +0000 (05:06 +0000)]
ci: run the x64 and arm ci on the github machines instead (#16183)

* run the x64 ci on regular machines

* set up the same thing for arm

fix test-quantize-perf just like #12306

* try to disable sve

* add another sve run

2 months agodevops: fix s390x docker release failure (#16231)
Aaron Teo [Thu, 25 Sep 2025 03:36:30 +0000 (11:36 +0800)]
devops: fix s390x docker release failure (#16231)

2 months agocodeowners: add ownership of zdnn backend [no ci] (#16229)
Aaron Teo [Wed, 24 Sep 2025 16:25:04 +0000 (00:25 +0800)]
codeowners: add ownership of zdnn backend [no ci] (#16229)

add @AlekseiNikiforovIBM to owners of zDNN backend

Signed-off-by: Aaron Teo <redacted>
2 months agollama: print memory breakdown on exit (#15860)
Johannes Gäßler [Wed, 24 Sep 2025 14:53:48 +0000 (16:53 +0200)]
llama: print memory breakdown on exit (#15860)

* llama: print memory breakdown on exit

2 months agoggml : split graph allocations according to backend max buffer size (#15815)
Acly [Wed, 24 Sep 2025 14:17:49 +0000 (16:17 +0200)]
ggml : split graph allocations according to backend max buffer size (#15815)

* ggml : make gallocr respect the backend's max buffer size

* if the graph requires more memory than can fit into a single allocation, split it into multiple backend buffers
* vulkan: report the actual max  allocation size in buffer type  interface

* fix missing newline, apple-clang warning

* track size of individual chunks in ggml_dyn_tallocr and raise max chunks.
revert to use suballocation_block_size as max chunk size for vulkan.

* track (chunk, offset) pairs instead of "global" offsets through gallocr.

* simpler, don't need loops to map between local/global offsets
* touches more code

* fix dyn_tallocr_max_size and initialization

* fix memory leak when buffers are reused due to same buffer type appearing multiple times

* make vbuffer allocation follow the same logic as backend_buffer did before

* continue to use leftover unallocated space of previous chunks after a new one has been created

* treat free blocks of each chunk as separate list
* they're still allocated together, but start/end of each chunk is tracked, and allocate/free iterate over sub-ranges
* exhaust freed blocks of all chunks before considering their last blocks with unallocated space
* start with 0 chunks/blocks and create chunks as needed
* allow the last chunk to grow beyond max size

* refactor: move adding new free block and new chunk into separate functions

* allocate chunks individually with a separate free-blocks list for each one

* needs a bit more memory/allocations/indirections, but code is simpler

* fix warnings (missing static) & debug checks

2 months agomodel : add label for LiquidAI LFM2-2.6B model (#16204)
Tarek Dakhran [Wed, 24 Sep 2025 11:42:26 +0000 (13:42 +0200)]
model : add label for LiquidAI LFM2-2.6B model (#16204)

* model : add label for LiquidAI LFM2-2.6B model

HF link: [LiquidAI/LFM2-2.6B](https://huggingface.co/LiquidAI/LFM2-2.6B).

Support for GGUF conversion and inference is added in #14620.

However, due to similar `n_embd`, it identifies as a 1.2B model.
Fix the label by using `n_ff` to identify the model instead.

Output of `llama-bench`:
```
| model                          |       size |     params | backend    | threads |            test |                  t/s |
| ------------------------------ | ---------: | ---------: | ---------- | ------: | --------------: | -------------------: |
| lfm2 1.2B F16                  |   2.18 GiB |     1.17 B | CPU        |      10 |           pp512 |        223.97 ± 5.32 |
| lfm2 2.6B F16                  |   4.79 GiB |     2.57 B | CPU        |      10 |           pp512 |         92.53 ± 4.14 |
| lfm2 350M F16                  | 676.25 MiB |   354.48 M | CPU        |      10 |           pp512 |       725.52 ± 11.70 |
| lfm2 700M F16                  |   1.38 GiB |   742.49 M | CPU        |      10 |           pp512 |       336.22 ± 12.93 |
```

* Update src/llama-model.cpp

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

Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agomodel-conversion : make causal-verify-logits fails with model names containing "...
Jie Fu (傅杰) [Wed, 24 Sep 2025 08:25:26 +0000 (16:25 +0800)]
model-conversion : make causal-verify-logits fails with model names containing "." (#16215)

Signed-off-by: Jie Fu <redacted>
2 months agocommon : add missing chrono header for common.cpp (#16211)
Uilian Ries [Wed, 24 Sep 2025 06:53:47 +0000 (08:53 +0200)]
common : add missing chrono header for common.cpp (#16211)

Signed-off-by: Uilian Ries <redacted>