]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/log
pkg/ggml/sources/llama.cpp
2 months agosync : ggml
Georgi Gerganov [Fri, 19 Jun 2026 07:18:14 +0000 (10:18 +0300)]
sync : ggml

2 months agoggml : bump version to 0.15.2 (ggml/1548)
Georgi Gerganov [Fri, 19 Jun 2026 07:14:26 +0000 (10:14 +0300)]
ggml : bump version to 0.15.2 (ggml/1548)

2 months agopi : remove docs from system prompt (#24791)
Georgi Gerganov [Fri, 19 Jun 2026 06:34:00 +0000 (09:34 +0300)]
pi : remove docs from system prompt (#24791)

2 months agoserver : consolidate slot selection into get_available_slot (#24755)
Georgi Gerganov [Fri, 19 Jun 2026 06:22:34 +0000 (09:22 +0300)]
server : consolidate slot selection into get_available_slot (#24755)

Absorb get_slot_by_id logic into get_available_slot so slot selection
is handled by a single function call. When a specific slot id is
requested, the LCP similarity check still runs to enable proper
prompt cache updates.

Assisted-by: pi:llama.cpp/Qwen3.6-27B
2 months agoggml-cpu: support K tails in power10 Q8/Q4 MMA matmul (#24753)
shalinib-ibm [Fri, 19 Jun 2026 05:55:38 +0000 (11:25 +0530)]
ggml-cpu: support K tails in power10 Q8/Q4 MMA matmul (#24753)

* ggml-cpu: support K tails in Power10 MMA Q8/Q4 matmul

This patch removes the requirement that K be divisible by kc in the tinyBlas_Q0_PPC tiled matmul path. Process the final K panel using its actual depth and pass the reduced panel size through packing and kernel execution.  This allows more workloads to use the MMA kernel and reduces fallback to mnpack.

* Apply suggestion from @taronaeo

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

Co-authored-by: Aaron Teo <redacted>
2 months agomtmd: add batching support for internvl (#24775)
Xuan-Son Nguyen [Thu, 18 Jun 2026 23:16:16 +0000 (01:16 +0200)]
mtmd: add batching support for internvl (#24775)

2 months agoGgml/cuda col2im 1d (#24417)
Pascal [Thu, 18 Jun 2026 20:23:01 +0000 (22:23 +0200)]
Ggml/cuda col2im 1d (#24417)

* cuda: add GGML_OP_COL2IM_1D, follow-up to the CPU op

* cuda: col2im_1d use fast_div_modulo for the index decomposition

* cuda: col2im_1d tighten supports_op, type match and contiguous dst

2 months agoserver: add "X-Accel-Buffering": "no" header to streaming endpoints (#24774)
Reguna [Thu, 18 Jun 2026 20:01:24 +0000 (04:01 +0800)]
server: add "X-Accel-Buffering": "no" header to streaming endpoints (#24774)

* server: add "X-Accel-Buffering": "no" header to streaming endpoints

This header tells Nginx (as a reverse proxy) to NOT buffer responses. (only affects streaming endpoints)
Without it, Nginx will break streaming with certain applications (notably the Pi coding harness).

2 months agomtmd: add batching for mtmd-cli, add video tests (#24778)
Xuan-Son Nguyen [Thu, 18 Jun 2026 19:55:04 +0000 (21:55 +0200)]
mtmd: add batching for mtmd-cli, add video tests (#24778)

2 months agocmake : fix ui build with read-only source (#24752)
o7si [Thu, 18 Jun 2026 16:59:18 +0000 (00:59 +0800)]
cmake : fix ui build with read-only source (#24752)

2 months agomtmd: refactor llava-uhd overview image handling (always use ov_img_first) (#24769)
Xuan-Son Nguyen [Thu, 18 Jun 2026 16:53:49 +0000 (18:53 +0200)]
mtmd: refactor llava-uhd overview image handling (always use ov_img_first) (#24769)

* add dedicated "overview" for mtmd_image_preproc_out

* corrections

* correct (again)

* nits

* nits (2)

2 months agohexagon: support for op-trace (fine-grain tracing of HVX/HMX/DMA events) (#24592)
Max Krasnyansky [Thu, 18 Jun 2026 15:35:02 +0000 (08:35 -0700)]
hexagon: support for  op-trace (fine-grain tracing of HVX/HMX/DMA events) (#24592)

* hex-optrace: add support for optrace and instrument matmul and flash-atten code

* hex-trace: improve trace event and prefetto generator

* hex-trace: add new script dedicated to handling traces, specifically perfetto traces

* hex-trace: add --head/--tail options to profile and trace tools

* hex-trace: fix whitespaces

* hex-trace: fix flake8 warnings

* hex-trace: fix flake8 warnings

* hmx-fa: restore q_tiles clearing

* hex-profile: remove circular dep in includes

* hex-trace: simplify trace sizing check

* hex-profile: sort events in the summary by name

2 months agodocs: fix export-lora --lora-scaled syntax [no release] (#24703)
Kangjia Gao [Thu, 18 Jun 2026 14:46:17 +0000 (22:46 +0800)]
docs: fix export-lora --lora-scaled syntax [no release] (#24703)

Assisted-by: Codex
2 months agoserver: (router) fix stopping_thread potentially hang (#24728)
Xuan-Son Nguyen [Thu, 18 Jun 2026 13:41:09 +0000 (15:41 +0200)]
server: (router) fix stopping_thread potentially hang (#24728)

* server: (router) fix stopping_thread potentially hang

* fix windows build

2 months agoserver: add "schema" and validation (#24150)
Xuan-Son Nguyen [Thu, 18 Jun 2026 13:40:58 +0000 (15:40 +0200)]
server: add "schema" and validation (#24150)

* wip

* working

* correct some limits

* add field name to error message

2 months agoserver : add last-5-seconds generation speed display (#24291)
Aarni Koskela [Thu, 18 Jun 2026 12:02:20 +0000 (15:02 +0300)]
server : add last-5-seconds generation speed display (#24291)

* server : add last-5-seconds generation speed display

* cont : clean-up

---------

Co-authored-by: Georgi Gerganov <redacted>
2 months agoui: provide touch accessible model selection UI (#24604)
Amos Wong [Thu, 18 Jun 2026 11:14:20 +0000 (19:14 +0800)]
ui: provide touch accessible model selection UI (#24604)

* ui : add model selector storybook stories

Covers list, favorites, single-model, all status states
(loading/loaded/sleeping/failed/idle), and selection states.

* ui : improve model selector mobile UX with hover media queries

Use @media (hover:none) to show action buttons directly on touch
devices and color-code them by model status (amber=sleeping,
green=loaded, muted=idle). Status dots hidden on touch. Desktop
hover behavior unchanged.

2 months agoserver : return HTTP 400 on invalid grammar (#24144) (#24154)
Anuj Attri [Thu, 18 Jun 2026 10:49:14 +0000 (06:49 -0400)]
server : return HTTP 400 on invalid grammar (#24144) (#24154)

Throw on grammar parse failure so the server returns HTTP 400
instead of silently dropping the constraint.
Add a regression test for the invalid-grammar response.

Fixes #24144

2 months agoserver: (router) rework -hf preset repo (#24739)
Xuan-Son Nguyen [Thu, 18 Jun 2026 10:45:23 +0000 (12:45 +0200)]
server: (router) rework -hf preset repo (#24739)

* server: temporary remove HF remote preset

* rework remove preset.ini support

* rm unused get_remote_preset_whitelist()

* print warning

* add docs

* rm stray file

2 months agoserver: fix router args not being forwarded to child instances (#24760)
Xuan-Son Nguyen [Thu, 18 Jun 2026 10:15:46 +0000 (12:15 +0200)]
server: fix router args not being forwarded to child instances (#24760)

2 months agomtmd: refactor preprocessor, add mtmd_image_preproc_out (#24736)
Xuan-Son Nguyen [Thu, 18 Jun 2026 10:04:39 +0000 (12:04 +0200)]
mtmd: refactor preprocessor, add mtmd_image_preproc_out (#24736)

* add mtmd_image_preproc_out

* add dev docs

* remove unused clip API

* rm unused clip_image_f32_batch::grid

* change preprocess() call signature

2 months ago[SYCL] rename GGML_SYCL_SUPPORT_LEVEL_ZERO (#24719)
Neo Zhang [Thu, 18 Jun 2026 08:18:26 +0000 (16:18 +0800)]
[SYCL] rename GGML_SYCL_SUPPORT_LEVEL_ZERO (#24719)

* rename GGML_SYCL_SUPPORT_LEVEL_ZERO to GGML_SYCL_SUPPORT_LEVEL_ZERO_API, and GGML_SYCL_ENABLE_LEVEL_ZERO to  GGML_SYCL_USE_LEVEL_ZERO_API

* fix code format

* fix error when rebase

2 months agosycl : support MUL_MAT and OUT_PROD with Q1_0 (#24721)
Neo Zhang [Thu, 18 Jun 2026 08:17:37 +0000 (16:17 +0800)]
sycl : support MUL_MAT and OUT_PROD with Q1_0 (#24721)

2 months agoapp : enable self-update only when built with llama-install.sh (#24754)
Adrien Gallouët [Thu, 18 Jun 2026 07:57:59 +0000 (09:57 +0200)]
app : enable self-update only when built with llama-install.sh (#24754)

Signed-off-by: Adrien Gallouët <redacted>
2 months agoci : fix check-release message parsing (#24751)
Sigbjørn Skjæret [Thu, 18 Jun 2026 07:32:56 +0000 (09:32 +0200)]
ci : fix check-release message parsing (#24751)

2 months ago[SYCL] support OPs: conv_2d, conv_2d_dw, conv2d_transpose (#24600)
Neo Zhang [Thu, 18 Jun 2026 06:40:03 +0000 (14:40 +0800)]
[SYCL] support OPs: conv_2d, conv_2d_dw, conv2d_transpose (#24600)

* fix conflict

* fix format issue, rename

* rm debug code

* correct the file name

2 months agoui: Update code formatting command in pre-commit hook (#24685)
Aleksander Grygier [Thu, 18 Jun 2026 06:33:50 +0000 (08:33 +0200)]
ui: Update code formatting command in pre-commit hook (#24685)

2 months agoci : fix Windows x64 (OpenVINO) release link (#24731)
Ravi Panchumarthy [Thu, 18 Jun 2026 06:30:08 +0000 (23:30 -0700)]
ci : fix Windows x64 (OpenVINO) release link (#24731)

2 months agometal : check for BF16 support in concat kernel (#24747)
Georgi Gerganov [Thu, 18 Jun 2026 06:16:06 +0000 (09:16 +0300)]
metal : check for BF16 support in concat kernel (#24747)

2 months agomtmd: llava_uhd should no longer use batch dim (#24732)
Xuan-Son Nguyen [Wed, 17 Jun 2026 20:40:50 +0000 (22:40 +0200)]
mtmd: llava_uhd should no longer use batch dim (#24732)

2 months agoggml-cpu: Conditionally enable power11 backend based on compiler support (#24687)
shalinib-ibm [Wed, 17 Jun 2026 18:45:19 +0000 (00:15 +0530)]
ggml-cpu: Conditionally enable power11 backend based on compiler support (#24687)

* ggml: Conditionally enable power11 backend based on compiler support

Guard POWER11 backend creation behind a compiler flag check for -mcpu=power11. This avoids build failures on current GCC/Clang toolchains while preserving forward compatibility once POWER11 support becomes available.

* Update CMakeLists.txt

ggml-cpu: Use -mcpu=power10 for P10 and P11

2 months agometal : implement rope_back operator (#24725)
Georgi Gerganov [Wed, 17 Jun 2026 17:36:05 +0000 (20:36 +0300)]
metal : implement rope_back operator (#24725)

Reuse existing rope kernels with a function constant to toggle forward/backward
rotation, avoiding duplicate kernel code.

Assisted-by: pi:llama.cpp/Qwen3.6-27B
2 months agometal : add f16 and bf16 support for concat operator (#24724)
Georgi Gerganov [Wed, 17 Jun 2026 16:38:55 +0000 (19:38 +0300)]
metal : add f16 and bf16 support for concat operator (#24724)

* metal : add f16 and bf16 support for concat operator

Extend the Metal backend concat operator to support f16 and bf16 tensor
types in addition to the existing f32 and i32 support.

- Template kernel_concat on type T with specializations for float, half,
  bfloat, and int
- Add type-specific pipeline getter ggml_metal_library_get_pipeline_concat()
- Update device support check to allow f16 unconditionally and bf16 when
  device supports bfloat16
- Update dispatch to select the correct kernel specialization by type

Assisted-by: pi:llama.cpp/Qwen3.6-27B
* metal : extend concat operator to support f16, bf16, i8, i16 and i64

Assisted-by: pi:llama.cpp/Qwen3.6-27B
2 months agoserver: (router) add model management API (#23976)
Xuan-Son Nguyen [Wed, 17 Jun 2026 16:04:58 +0000 (18:04 +0200)]
server: (router) add model management API (#23976)

* wip

* server: (router) add SSE realtime updates API

* nits

* wip

* add download API

* add download api

* update docs

* add delete endpoint

* fix std::terminate

* fix crash

* fix 2

* add tests

* nits

2 months agollama : skip main_gpu validation when no devices are available (#23405)
Dev-iL [Wed, 17 Jun 2026 14:30:26 +0000 (17:30 +0300)]
llama : skip main_gpu validation when no devices are available (#23405)

2 months agospec: fix segfault error on long prompts for eagle3 (#24707)
Ruixiang Wang [Wed, 17 Jun 2026 14:29:49 +0000 (16:29 +0200)]
spec: fix segfault error on long prompts for eagle3 (#24707)

2 months ago[SYCL] add dev2dev memcpy by SYCL API (#24476)
Neo Zhang [Wed, 17 Jun 2026 14:21:34 +0000 (22:21 +0800)]
[SYCL] add dev2dev memcpy by SYCL API (#24476)

* add dev2dev memcpy by SYCL API

* mv GGML_SYCL_DEV2DEV_MEMCPY to runntime table

* update the detect method for p2p comm

* fix the erro created during fix confilct

---------

Co-authored-by: Neo Zhang <NA>
2 months ago[SYCL] Add conv_3d (#24691)
Neo Zhang [Wed, 17 Jun 2026 14:20:01 +0000 (22:20 +0800)]
[SYCL] Add conv_3d (#24691)

* add conv_3d

* optimize

* update ops.md

* restore test script

* rm unused code

* rm copyright notes

2 months agowebui: export conversations as jsonl (#24688)
Julien Chaumond [Wed, 17 Jun 2026 11:25:47 +0000 (13:25 +0200)]
webui: export conversations as jsonl (#24688)

* webui: export conversations as jsonl

each session is one jsonl file, a session header line followed by one line per message
exporting multiple conversations bundles them into a zip, one jsonl file each

* webui: import jsonl and zip conversation exports

parse the new jsonl session format and zip archives on import
keep supporting the legacy json format

2 months agovulkan: record actual memory properties during buffer creation (#24326)
Winston Ma [Wed, 17 Jun 2026 09:14:48 +0000 (17:14 +0800)]
vulkan: record actual memory properties during buffer creation (#24326)

2 months agoRevert "cuda: reset cuda context after reading memory size (#23935)" (#24715)
Ruben Ortlam [Wed, 17 Jun 2026 08:59:35 +0000 (10:59 +0200)]
Revert "cuda: reset cuda context after reading memory size (#23935)" (#24715)

This reverts commit 0f7fada56bea32c9e0db3874b801d887ff6c4529.

2 months agoci: fix vulkan docker images (#24595)
kononnable [Wed, 17 Jun 2026 07:43:45 +0000 (09:43 +0200)]
ci: fix vulkan docker images (#24595)

* Update vulkan-shaders-gen.cpp

* Update vulkan-shaders-gen.cpp

add comment describing code change intention

* Update vulkan-shaders-gen.cpp

fix potential UB

2 months agoUI : fix SSE transport detection and routing through CORS proxy. Assi… (#24500)
Harapan Rachman [Wed, 17 Jun 2026 06:26:30 +0000 (13:26 +0700)]
UI : fix SSE transport detection and routing through CORS proxy. Assi… (#24500)

* UI : fix SSE transport detection and routing through CORS proxy. Assisted-by: Antigravity

* ui : replace magic strings with constants in MCP transport handling

2 months agoopencl: optimize mul_mat_f16_f32_l4 for decode (#24504)
lhez [Wed, 17 Jun 2026 06:21:26 +0000 (23:21 -0700)]
opencl: optimize mul_mat_f16_f32_l4 for decode (#24504)

2 months agocommon: update logging to enforce max_capacity and optimize queue resizing (#24490)
Max Krasnyansky [Wed, 17 Jun 2026 06:19:11 +0000 (23:19 -0700)]
common: update logging to enforce max_capacity and optimize queue resizing (#24490)

* common: update logging to enforce max_capacity and optimize queue resizing logic

* common/log: remove queue expansion logic

2 months agoopenvino: OV 2026.2, context-shift, Q5_1 support, gemma4 dense/embedding, and -fa...
Zijun Yu [Wed, 17 Jun 2026 06:11:21 +0000 (14:11 +0800)]
openvino: OV 2026.2, context-shift, Q5_1 support, gemma4 dense/embedding, and -fa off (#24503)

* Add interface is_model_splitted() to check the c-graph is splited or not

* Infer and propagate dynamic-dimension indices for all tensors in the GGML graph in api compute_model_outputs()

* Only do this for fallback sub graph

* Move dynamic dims compute in graph missmatch

* ggml-openvino: fix tensor data handling for PERMUTE/VIEW ops in split models

* ggml-openvino:add comments

* ggml-openvino: override VIEW op_case to 0 for split model inputs

* openvino backend: Handle unsupported VIEW shape-mismatch in OpenVINO backend

* Enable additional mul_mat tests and add tensor data saving function (#81)

* ggml-openvino: fix CONT/TRANSPOSE mapping and improve dynamic-dimension handling

* OpenVINO: add NORM/TANH support and rework SOFT_MAX translation

* ggml-openvino: extend VIEW handling

* Enable -fa off (#118)

* Enable --context-shift

* Fix llm param compute error for normal softmax not the softmax in attention

* OpenVINO backend: fix error for attention size compute in llm param

* use tensor->extra in infer_request i/o

* OpenVINO backend: refacter the compute_llm_params() func add get_attention_pattern_case to easy extand

* OpenVINO backend: clean unused code

* 1to1 match op update (#146)

* added translate_1to1_match_1_input function and updated gelu and tanh translations

* Remove unused translation function calls

---------

Co-authored-by: Mustafa Cavus <redacted>
* initial gemma4 support

* removed hardcoded names for kv cache slicing

* OpenVINO backend: Add new attention pattern for llm parameters compute

* flash attn Q shape static conversion

* Remove slice in permute translation when n_seq is 1

* return optional in extract_layer_from_name

* OpenVINO backend: refactor VIEW related operation (#148)

* OpenVINO backend: refactor VIEW related operation

* Enable VIEW handling in following ops

* OpenVINO backend does not support GGML_OP_NORM & GGML_OP_L2_NORM with VIEW input accuracy issue from OpenVINO

* OpenVINO backend: Add ops l2_norm & pad

* OpenVINO backend does not support CPY with non-contiguous data or mismatched types

* add op SSM_CONV GATED_DELTA_NET

* OpenVINO backend: fix error for bf16 in OV gpu plugin

* reverted static Q input shape for attention layer

* OpenVINO backend: remove hardcode name inp_tokens, which ignore some leaf case

* Disable remote tensor due to bug in ov gpu

* Disable n_token > 1 GATED_DELTA_NET on gpu

* OpenVINO backend: fix the view op dynamic handling issue in gemma4 & enable view + get_row

* OpenVINO backend: clean code

* OpenVINO backend: enable view + norm/rms_norm

* OpenVINO backend: concat op

* OpenVINO backend: argsort op

* OpenVINO backend: enable unary + view & GGML_UNARY_OP_SOFTPLUS

* Fix issue for test-backend-ops in TOPK_MOE, which compare VIEW ops result, VIEW node in OpenVINO no need compare, the whole graph result is correct

* OpenVINO backend: enable sum_rows

* OpenVINO backend: enable clamp

* OpenVINO backend: enable DIV

* OpenVINO backend: enable GGML_OP_MUL_MAT_ID

* OpenVINO backend: disable MUL_MAT_ID_FUSION case with large mem needed

* OpenVINO backend: Disable GGML_OP_ARGSORT, cause test_backend-ops failed

* OpenVINO backend: fix issue in mul_mat_id

* OpenVINO backend: Disable DIV with broadcast on GPU

* OpenVINO backend: update DIV

* use ov internal op GatedDeltaNet

* OpenVINO backend: enable llama erch test qwen3next

* OpenVINO backend: enable RMS_NORM + VIEW & remove op_case 2 for rope

* OpenVINO backend: fix error

* suggested changes, need review

* suggested changes, need review

* OpenVINO backend: clean unused code & fix build warning

* OpenVINO backend: enable minicpm3 for arch test

* Disable GDN op (#177)

* disable gated_delta_net

* update stateful_kv_size correctly in mismatch case

* OpenVINO backend: enable arch test for qwen3vl

* OpenVINO backend: enable cohere2 for arch test

* OpenVINO backend: enable t5 for arch test

* OpenVINO backend: enable jamba for arch test

* OpenVINO backend: remove warning for tmp

* OpenVINO backend: enable kimi-linear for arch test

* Remove unused

* Fix gpt-oss accuracy issue

* OpenVINO backend: enable arctic for arch test

* OpenVINO backend: enable grok for arch test

* Gemma4 initial npu support (#179)

* Initiall gemma4 npu support

* temp. fix for gemma4 accuracy bug on npu

* Remove hardcoded names for npu-fold handling

* revert static n tokens for cont translation as it is not needed

* removed unused variable

* ggml-openvino: add GGML_OPENVINO_ENABLE_CACHE env var to control decoder cache. Add environment variable GGML_OPENVINO_ENABLE_CACHE (default: YES). When set to NO, the decoder_cache is bypassed and models are rebuilt from the cgraph on every inference call in both dynamic and static compute paths. This is useful for debugging and verifying correctness without caching interference.

* Revert "Gemma4 initial npu support (#179)"

This reverts commit 0d29a9c4a52dc2c8aa52990f1a3854cfb01768ad.

* OpenVINO backend: disable debug log print

* Update TBB discovery. Delegated to OpenVINOs own config.

* OpenVINO backend: GGML_OPENVINO_ENABLE_CACHE YES -> 1

* OpenVINO backend: fallback FLASH_ATTN_EXT in gemma3n to CPU backend

* Add raw ov infer profiling metric

* Add OV raw infer time metric to static compute path

Co-authored-by: virajwad <redacted>
* Modify precision of static profiling

* update to OV 2026.2, add OV windows CI

* fix editorconfig-checks

* Initiall gemma4 npu support

* temp. fix for gemma4 accuracy bug on npu

* Remove hardcoded names for npu-fold handling

* revert static n tokens for cont translation as it is not needed

* removed unused variable

* test-llama-archs fix

* Fix gemma4 flash_attn fallback

* support im2col

* fix code style

* disable add_rope_sin_cos optimization

* stateless boradcast and rope optimizations

* Enable manual gqa attn by default for stateless gpu

* manual gqa: fixed static batch

* gemma4 llama-bench ctx update fix

* Update OV win CI

* stateful rope fusion temp. fix

* OpenVINO backend: Conslolidate supported ops

* Exclude unsupported GGML_OP_SUB cases

* Exclude unsupported TOPK_MOE cases

* OpenVINO Backend: MUL_MAT enhancements

* Update OV CI

* support f16 mask input for npu

* Make GGML_OPENVINO_* env vars usage uniform

Standardize all GGML_OPENVINO_* env flags:
positive integers >0 to enable. Unset, empty, =0, or non-numeric values to disable.
This fixes cases where text values or empty strings enabled features.

* OpenVINO backend: Enhance envvar handling

* more cleanup

* move ggml_openvino_env_flag to appropriate place

* OpenVINO backend: add REPEAT translator, Q5_1 weights, and GLU view-input fix

* ggml-openvino: fix -Werror=cast-qual in extract_q5_1_data

* Update openvino.Dockerfile

Use BuildKit cache mounts for faster Docker rebuilds.
Use apt instead of dpkg, remove unused .ddeb downloads, add DLLAMA_BUILD_TESTS=OFF.

* ggml-openvino: centralize env var access via *getenv_str/getenv_int helpers

Replace getenv and legacy flags with _str and _int helpers.Minor cleanup, doc updates.

* OpenVINO backend: Enable GGML_OP_ADD_ID

* Uptade openvino backend clamg-format

* clang-format

* Update OPENVINO.md (#211)

* OpenVINO backend: fix accuracy issue for op CONCAT with i64 precision

* Remove strict concurrency for gpu-openvino-low-perf

* Update openvino CI keynames; add ccache-clear

* Apply suggestions from code review

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

---------

Co-authored-by: Xuejun Zhai <redacted>
Co-authored-by: Mustafa Cavus <redacted>
Co-authored-by: Mustafa Cavus <redacted>
Co-authored-by: Xuejun <redacted>
Co-authored-by: Wang Yang <redacted>
Co-authored-by: Ravi Panchumarthy <redacted>
Co-authored-by: virajwad <redacted>
Co-authored-by: copilot-swe-agent[bot] <redacted>
Co-authored-by: Mostafa Faheem <redacted>
Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agosycl : Enable to support fp16 by OPs: SQR, SQRT, LOG, SIN, COS, CLAMP (#24692)
Neo Zhang [Wed, 17 Jun 2026 05:58:03 +0000 (13:58 +0800)]
sycl : Enable to support fp16 by OPs: SQR, SQRT, LOG, SIN, COS, CLAMP (#24692)

2 months agoSYCL: fix use-after-free bug with async memcpy in MoE prefill (#24676)
Alexey Kopytko [Wed, 17 Jun 2026 05:57:29 +0000 (14:57 +0900)]
SYCL: fix use-after-free bug with async memcpy in MoE prefill (#24676)

* SYCL: fix a bug with async memcpy

* make mmid_row_mapping_host persistent

* comment on stream->wait

* Apply suggestion from @sanmai

* Apply suggestion from @sanmai

* Apply suggestion from @sanmai

2 months agosycl: Add optional USM system allocations (#22526)
Francois Dugast [Wed, 17 Jun 2026 05:54:21 +0000 (07:54 +0200)]
sycl: Add optional USM system allocations (#22526)

This introduces an optional feature to allocate large GPU buffers (≥ 1GB)
using USM system allocations if supported by the device. It allows using
buffers from the system allocator then letting the system manage memory
migrations between host and device as necessary.

This feature is disabled by default and requires the GGML_SYCL_USM_SYSTEM
environment variable to enable. If USM system allocations are not supported
by the device or the system, we fallback to regular allocations.

This feature can allow VRAM overcommit. For example, the test below fails
on B580 due to lack of memory for allocation, but it passes when enabling
USM system allocations:

  ./examples/sycl/test.sh -m Qwen3.5-27B-Q3_K_M.gguf -lv 4

Signed-off-by: Francois Dugast <redacted>
2 months agovendor : update BoringSSL to 0.20260616.0 (#24693)
Alessandro de Oliveira Faria (A.K.A.CABELO) [Tue, 16 Jun 2026 18:24:28 +0000 (15:24 -0300)]
vendor : update BoringSSL to 0.20260616.0 (#24693)

2 months agoui: add source toggle to mermaid and svg blocks (#24652)
Pascal [Tue, 16 Jun 2026 12:14:22 +0000 (14:14 +0200)]
ui: add source toggle to mermaid and svg blocks (#24652)

* ui: add source toggle to mermaid and svg blocks

Add a toggle button next to copy and preview that switches a rendered
mermaid or svg block to its source code and back. The button is shared by
both block types and the rendered view stays the default.

The source view reuses the code block scroll container and the highlighted
code element captured at transform time, so it matches the app code blocks
without highlighting again.

Make tall diagrams scroll like text code blocks: safe centering keeps the
diagram centered when it fits and falls back to start alignment when it
overflows, so the top stays reachable instead of clipping above.

Keep the block header opaque and layered above the scrolled diagram, and
ignore header clicks in the zoom handler, so a button click never falls
through to the zoom dialog.

* ui: transparent diagram block header, address review from @allozaur

2 months agoFix and restrict NVFP4 edge-cases in llama-graph (#24331)
Oliver Simons [Tue, 16 Jun 2026 09:52:38 +0000 (11:52 +0200)]
Fix and restrict NVFP4 edge-cases in llama-graph (#24331)

* Move post-GEMM MUL required for dequant b4 lora and bias add

see https://github.com/ggml-org/llama.cpp/pull/23484 :
1. For lora, I would presume we want fully dequantized values before
   doing the residuals, but this depends on how the LORAs were
generated. Literature tells me LORA happens post-mul but pre-bias add https://github.com/ggml-org/llama.cpp/pull/8332
2. For ModelOPT, bias-add should happen on [fully-dequantized
   values](https://github.com/NVIDIA/Model-Optimizer/blob/b49f9b9e2d747af992d78a3aa7f10efe5a8847e1/modelopt/torch/quantization/backends/nvfp4_gemm.py#L59-L64)

* Restrict build_ffn for NVFP4 to supported combinations

2 months agospec: add backend sampling support for eagle3 (#24655)
Ruixiang Wang [Tue, 16 Jun 2026 09:05:52 +0000 (11:05 +0200)]
spec: add backend sampling support for eagle3 (#24655)

2 months agovulkan: prefer host-visible memory buffers on UMA devices (#22930)
Winston Ma [Tue, 16 Jun 2026 07:36:52 +0000 (15:36 +0800)]
vulkan: prefer host-visible memory buffers on UMA devices (#22930)

* implement UMA host-visible memory

* update based on 0cc4m's suggestion

2 months agovulkan: Support gated_delta_net with S_v=16 (#24581)
Jeff Bolz [Tue, 16 Jun 2026 07:26:57 +0000 (02:26 -0500)]
vulkan: Support gated_delta_net with S_v=16 (#24581)

2 months agospec: add spec metrics mean acceptance length and acceptance rate per position (...
Ruixiang Wang [Tue, 16 Jun 2026 07:23:09 +0000 (09:23 +0200)]
spec: add spec metrics mean acceptance length and acceptance rate per position (#24536)

* spec: add spec metrics mean acceptance length and acceptance per pos

* fix as suggestion

Co-authored-by: Georgi Gerganov <redacted>
* fix as suggestion

Co-authored-by: Georgi Gerganov <redacted>
* fix as suggestion

Co-authored-by: Georgi Gerganov <redacted>
* fix as suggestions

---------

Co-authored-by: Georgi Gerganov <redacted>
2 months agobench : add --offline (#24511)
Adrien Gallouët [Tue, 16 Jun 2026 06:26:05 +0000 (08:26 +0200)]
bench : add --offline (#24511)

* bench : add --offline

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

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

Signed-off-by: Adrien Gallouët <redacted>
2 months agosycl: support reordered Q4_K/Q5_K/Q6_K MoE MUL_MAT_ID (#24452)
Frosty40 [Tue, 16 Jun 2026 05:35:00 +0000 (00:35 -0500)]
sycl: support reordered Q4_K/Q5_K/Q6_K MoE MUL_MAT_ID (#24452)

* sycl: support reordered Q4_K and Q5_K MoE MUL_MAT_ID

Extend reordered-weight handling to fused MoE MUL_MAT_ID for Q4_K and Q5_K expert tensors and add Q5_K reordered DMMV coverage. Unsupported 3D reorder cases now fall back instead of aborting.

* sycl: extend MoE reorder to Q6_K mul_mat_id

2 months ago[SYCL] Support OP EXPM1, support all UT cases of FLOOR, TRUNC, ROUND (#24363)
Neo Zhang [Tue, 16 Jun 2026 05:34:29 +0000 (13:34 +0800)]
[SYCL] Support OP EXPM1, support all UT cases of FLOOR, TRUNC, ROUND (#24363)

* support OP EXPM1, support all UT cases of FLOOR, TRUNC, ROUND

* fix conflict

* rebase, support new UT case of repeat, concat

2 months agosycl : Make GGML_SYCL_F16=ON the default (#23996)
Todd Malsbary [Tue, 16 Jun 2026 05:34:02 +0000 (22:34 -0700)]
sycl : Make GGML_SYCL_F16=ON the default (#23996)

* Add -cl-fp32-correctly-rounded-divide-sqrt to F16=ON builds

Signed-off-by: Todd Malsbary <redacted>
* Make GGML_SYCL_F16=ON the default

Signed-off-by: Todd Malsbary <redacted>
* Leave F32 the default

F16 remains explictly set for example and Dockerfile builds.

Signed-off-by: Todd Malsbary <redacted>
* Revert changes to examples/sycl/build scripts

Signed-off-by: Todd Malsbary <redacted>
---------

Signed-off-by: Todd Malsbary <redacted>
2 months agovulkan: add col2im_1d op (#24425)
Pascal [Tue, 16 Jun 2026 04:34:43 +0000 (06:34 +0200)]
vulkan: add col2im_1d op (#24425)

* vulkan: add GGML_OP_COL2IM_1D, follow-up to the CPU op

* vulkan: col2im_1d bounded gather loop instead of full-K scan with modulo

* vulkan: col2im_1d address review from @jeffbolznv

* vulkan: col2im_1d return nullptr for unsupported types, address review from @0cc4m

2 months agochat : fix LFM2 tool-call parsing double-escaping (#24667)
Tarek Dakhran [Mon, 15 Jun 2026 20:10:09 +0000 (22:10 +0200)]
chat : fix LFM2 tool-call parsing double-escaping (#24667)

* Add escape test cases

* chat : fix LFM2 tool-call parsing double-escaping

2 months agomtmd: fix miscounting n_tokens (#24656)
Xuan-Son Nguyen [Mon, 15 Jun 2026 16:07:14 +0000 (18:07 +0200)]
mtmd: fix miscounting n_tokens (#24656)

2 months agochat: include full unparsed prompt in debug (#24650)
Piotr Wilkin (ilintar) [Mon, 15 Jun 2026 15:33:54 +0000 (17:33 +0200)]
chat: include full unparsed prompt in debug (#24650)

message on parse error

2 months agodocs: Add instructions to install `llama.cpp` from conda-forge (#22219)
Julien Jerphanion [Mon, 15 Jun 2026 15:12:25 +0000 (17:12 +0200)]
docs: Add instructions to install `llama.cpp` from conda-forge (#22219)

* docs: Add instructions to install `llama.cpp` from conda-forge

Signed-off-by: Julien Jerphanion <redacted>
* Rewording of instructions

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

Signed-off-by: Julien Jerphanion <redacted>
Co-authored-by: Georgi Gerganov <redacted>
2 months agochat: harden peg-native tool call parsing (#24329)
Pascal [Mon, 15 Jun 2026 13:37:04 +0000 (15:37 +0200)]
chat: harden peg-native tool call parsing (#24329)

* chat: harden peg-native tool call parsing

accept an optional leading type: function field in
build_json_tools_flat_keys so openai style tool calls parse on
templates whose serialization opens on the name field.

return a clean error and log the unparsed fragment on a final peg
parse failure instead of throwing the raw parser position and input.

keep the raw arguments string in func_args_not_string when it is not
valid json instead of aborting the prompt render.

* chat: surface peg-native parse failures

a final peg parse failure threw the raw parser position and input. log
the unparsed fragment and raise a clearer error instead, so a model
output that does not match the expected format no longer fails silently
with an empty assistant turn.

minimal change, no behavior change on successful parses.

* chat: handle openai style tool calls in peg-native

* nits

* common: scope OpenAI wrapper grammar trigger via autoparser flag

* chat: gate type:function parsing leniency on the analysis flag

Thread accept_openai_wrapper from the generator to build_json_tools_flat_keys
so the leading "type": "function" field is accepted only when openai_wrapper_trigger is set.

2 months agochat: fix an "oldie but goodie" grammar generator bug that surfaced during last chang...
Piotr Wilkin (ilintar) [Mon, 15 Jun 2026 13:27:47 +0000 (15:27 +0200)]
chat: fix an "oldie but goodie" grammar generator bug that surfaced during last changes (#24653)

* chat: fix an "oldie but goodie" grammar generator bug that surfaced during last changes

* update erroneous case in PEG parser test

2 months agomtmd : add post-decode callback (#24645)
Georgi Gerganov [Mon, 15 Jun 2026 13:02:05 +0000 (16:02 +0300)]
mtmd : add post-decode callback (#24645)

Assisted-by: pi:llama.cpp/Qwen3.6-27B
2 months agovulkan: support more CONCAT types (#24579)
Jeff Bolz [Mon, 15 Jun 2026 11:19:21 +0000 (06:19 -0500)]
vulkan: support more CONCAT types (#24579)

2 months agowasm : fix fallback symbol collision (#24639)
Andrei [Mon, 15 Jun 2026 07:11:59 +0000 (00:11 -0700)]
wasm : fix fallback symbol collision (#24639)

2 months agoSYCL: use native subgroup size for K-quant DMMV (#21700)
Katostrofik [Mon, 15 Jun 2026 07:10:53 +0000 (03:10 -0400)]
SYCL: use native subgroup size for K-quant DMMV (#21700)

2 months agosycl: fix soft_max_f32 max reduction (#24451)
someoneinjd [Mon, 15 Jun 2026 07:10:12 +0000 (15:10 +0800)]
sycl: fix soft_max_f32 max reduction (#24451)

2 months agosycl : fix reorder function; add fp32/fp16 in build script (#24578)
Neo Zhang [Mon, 15 Jun 2026 07:08:34 +0000 (15:08 +0800)]
sycl : fix reorder function; add fp32/fp16 in build script (#24578)

2 months agosycl : enhance set_rows to support q1_0, mxfp4, nvfp4 (#24564)
Neo Zhang [Mon, 15 Jun 2026 07:01:40 +0000 (15:01 +0800)]
sycl : enhance set_rows to support q1_0, mxfp4, nvfp4 (#24564)

2 months ago[SYCL] add to support pool_1d, move pool_1d/2d code to pool.cpp/hpp (#24584)
Neo Zhang [Mon, 15 Jun 2026 07:01:07 +0000 (15:01 +0800)]
[SYCL] add to support pool_1d, move pool_1d/2d code to pool.cpp/hpp (#24584)

* add to support pool_1d, move pool_1d/2d code to pool.cpp/hpp

* update ops.md

2 months ago[SYCL]: Remove per-allocation Level Zero runtime checks (#23399)
Alexey Kopytko [Mon, 15 Jun 2026 06:58:42 +0000 (15:58 +0900)]
[SYCL]: Remove per-allocation Level Zero runtime checks (#23399)

* [SYCL] Centralize Level Zero detection in ggml_sycl_init

* use the same wording

* get back the warning

* [SYCL] Remove per-allocation getenv() for GGML_SYCL_ENABLE_LEVEL_ZERO

* bring back the comment

* move it up to make sure devices call the shots

* move the env detection early

* replace g_ggml_sycl_enable_level_zero with a direct call to .ext_oneapi_level_zero

* update the comment

* switch back to g_ggml_sycl_enable_level_zero with a sentinel

* remove the check

* Reduce the diff

* reword, move lower

* move things aroudn

* remove forward declaration if favor of a full replace

* pre-cache results of zeDeviceGetProperties

* put ggml_sycl_get_env back

* replace get_sycl_env with ggml_sycl_get_env

* add whitespace back

* Apply suggestion from @sanmai

2 months agometal : add repeat bf16 (#24638)
Georgi Gerganov [Mon, 15 Jun 2026 06:57:16 +0000 (09:57 +0300)]
metal : add repeat bf16 (#24638)

2 months agochat: fix whitespace problems once and for all (#24624)
Piotr Wilkin (ilintar) [Mon, 15 Jun 2026 06:27:10 +0000 (08:27 +0200)]
chat: fix whitespace problems once and for all (#24624)

* chat: fix whitespace problems once and for all

* Purge trailing spaces from grammar generation

* Revert "Purge trailing spaces from grammar generation"

This reverts commit b0827ecb7d4767f37cefd751b3646f98d5303891.

2 months agoUI/svg block rendering (#24080)
Pascal [Mon, 15 Jun 2026 06:11:36 +0000 (08:11 +0200)]
UI/svg block rendering (#24080)

* ui: add svg block visualizer based on allozaur's mermaid PR

* ui: rationalise diagram block styling and pre transforms shared by mermaid and svg

* ui: live render streaming svg blocks

* ui: also render svg authored in xml code fences

* ui: refactor svg block rendering, address review from allozaur

- Move the svg size ceiling and DOMPurify config out of sanitize-svg.ts into /constants.
- Rename the svg-diagram class to svg-block so the name no longer implies diagrams only.
- Replace the svg, xml and svg tag magic strings in the markdown pipeline with shared constants.
- Promote the data-svg-rendered marker and its sibling data attributes to constants.

* ui: render svg blocks in a shadow root for animation and live zoom

Mount each sanitized svg inside an open shadow root so author <style> and
keyframe or smil animations run while staying scoped to the host element.
Relax the sanitizer to forbid only foreignObject and script, which lets
animation, href and external resource refs through for wider compatibility.
Render the inline block and the zoom dialog from the same reactive source,
so a streaming svg keeps drawing live inside the open zoom popup.

2 months agoCUDA: only support F32/F16 for GGML_OP_REPEAT (#24533)
leonardHONG [Mon, 15 Jun 2026 06:11:00 +0000 (14:11 +0800)]
CUDA: only support F32/F16 for GGML_OP_REPEAT (#24533)

2 months agoggml-webgpu: improve i-quants mul_mat performance and speed up prefill (#24530)
Masashi Yoshimura [Mon, 15 Jun 2026 01:15:30 +0000 (10:15 +0900)]
ggml-webgpu: improve i-quants mul_mat performance and speed up prefill (#24530)

* Improve prefill speeds for i-quants

* Fix #if defined() usage in preprocessor guards.

2 months agoconvert : fix lora base model arch retrieval (#24621)
Sigbjørn Skjæret [Sun, 14 Jun 2026 22:55:26 +0000 (00:55 +0200)]
convert : fix lora base model arch retrieval (#24621)

2 months agofix(ui): render thinking/reasoning block content as markdown (#24611)
franitel [Sun, 14 Jun 2026 20:56:56 +0000 (22:56 +0200)]
fix(ui): render thinking/reasoning block content as markdown (#24611)

* fix(ui): render thinking/reasoning block content as markdown

* feat(ui): add toggle setting for thinking block markdown rendering

2 months agoui: Add HEIC/HEIF image support (#24137)
Nicolas Mowen [Sun, 14 Jun 2026 18:42:16 +0000 (12:42 -0600)]
ui: Add HEIC/HEIF image support (#24137)

* Add boilerplate for file types

* Add heic-to and implement conversion

* Load heic library from CDN

* Use jpg instead of png for conversion

* Move const to constants file

2 months agochat: add dedicated Cohere2MoE (North Code) parser (#24615)
Piotr Wilkin (ilintar) [Sun, 14 Jun 2026 18:17:40 +0000 (20:17 +0200)]
chat: add dedicated Cohere2MoE (North Code) parser (#24615)

* chat: add dedicated Cohere2MoE (North Code) parser

* Some renames to make @CISC happy :>

2 months agodocs : fix typos in CUDA-FEDORA.md and grammars/README.md (#24459)
Mohammad Athar [Sun, 14 Jun 2026 17:33:38 +0000 (23:03 +0530)]
docs : fix typos in CUDA-FEDORA.md and grammars/README.md (#24459)

2 months agodocker: specify registry to simplify Podman builds (#24607)
Alexander Batischev [Sun, 14 Jun 2026 17:27:20 +0000 (20:27 +0300)]
docker: specify registry to simplify Podman builds (#24607)

2 months agoUI/mobile keyboard and pwa popup fixes (#24610)
Pascal [Sun, 14 Jun 2026 16:35:00 +0000 (18:35 +0200)]
UI/mobile keyboard and pwa popup fixes (#24610)

* ui: make mobile layout keyboard-aware via interactive-widget and dvh shell anchor

* ui: fix duplicate PWA refresh popup by scoping the storage check to non-PWA pages

2 months agoui : fix ui clipping in mobile due to incorrect height setup (#24605)
Amos Wong [Sun, 14 Jun 2026 14:15:51 +0000 (22:15 +0800)]
ui : fix ui clipping in mobile due to incorrect height setup (#24605)

2 months agojinja : add count/d/e filter aliases (#24606)
Sigbjørn Skjæret [Sun, 14 Jun 2026 13:07:31 +0000 (15:07 +0200)]
jinja : add count/d/e filter aliases (#24606)

2 months agocli : fix not copying preserved tokens (#24258)
Michael Wand [Sun, 14 Jun 2026 09:52:15 +0000 (02:52 -0700)]
cli : fix not copying preserved tokens (#24258)

2 months agoAdd cohere2moe to llama-vocab for TINY_AYA (#24601)
Bartowski [Sun, 14 Jun 2026 07:04:46 +0000 (03:04 -0400)]
Add cohere2moe to llama-vocab for TINY_AYA (#24601)

2 months agoci : use CUDA label for cuda backend (#24594)
Sigbjørn Skjæret [Sun, 14 Jun 2026 06:27:52 +0000 (08:27 +0200)]
ci : use CUDA label for cuda backend (#24594)

2 months agoadd sycl to check-release (#24583)
Sigbjørn Skjæret [Sun, 14 Jun 2026 01:42:26 +0000 (03:42 +0200)]
add sycl to check-release (#24583)

2 months agoui : fix llama-ui-embed crash when no asset dir is given (#24597)
Aldehir Rojas [Sat, 13 Jun 2026 22:53:30 +0000 (17:53 -0500)]
ui : fix llama-ui-embed crash when no asset dir is given (#24597)

2 months agoAdd arch support for cohere2-MoE (#24260)
Michael Wand [Sat, 13 Jun 2026 17:49:00 +0000 (10:49 -0700)]
Add arch support for cohere2-MoE (#24260)

* Add arch support for cohere2-MoE

* Removed redundant gating_func checks

* Changed ffn lookup to prefer prefix_dense_intermediate_size

* Renamed arch to cohere2moe

* Removed redundant lmhead check and chat template changes

* Removed lm_head.weight check from modify tensors, load output tensor not required, fallback to token_embd.weight

* Changed to (routed+shared)*0.5 for shared expert combined avg

* fixed sliding_window_pattern issue and pattern

* Fixed transformers crash 'first_k_dense_replace' error

* Remove comment

* Removed cohere2-moe as a tokenizer type and kept as tiny_aya.  Renamed North-Mini-Code-1.0.

* Fixed MTP fail, changed to use iSWA

* Fixed remaining todos: cohere2moe renamed, changed swa parsing to use get_key_or_arr, removed extra get_arr use

* Force metadata usage

Co-authored-by: Sigbjørn Skjæret <redacted>
* Remove Cohere2 checkpoint comment

Co-authored-by: Sigbjørn Skjæret <redacted>
* Remove MTP comment

Co-authored-by: Sigbjørn Skjæret <redacted>
* Regenerate cohere2moe tokenizer hash

* Add cohere2moe to Llama Model Saver supported list

* Check for zerobios tensors and add support for Command to use LayerNorm

* Map expert_selection_fn to sigmoid in base.py instead of command.py

* use bools for foundnorm/foundnormrms

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

Co-authored-by: Sigbjørn Skjæret <redacted>
2 months agojinja : fix negative step slice with start/stop values (#24580)
Sigbjørn Skjæret [Sat, 13 Jun 2026 16:28:40 +0000 (18:28 +0200)]
jinja : fix negative step slice with start/stop values (#24580)

2 months agoui: build-time gzip compression (#24571)
Xuan-Son Nguyen [Sat, 13 Jun 2026 14:57:27 +0000 (16:57 +0200)]
ui: build-time gzip compression (#24571)

* ui: keep original file name and path

* fix nocache

* ui: build-time gzip compression

2 months agojinja : fix split and replace with empty first arg (#24574)
Sigbjørn Skjæret [Sat, 13 Jun 2026 14:56:59 +0000 (16:56 +0200)]
jinja : fix split and replace with empty first arg (#24574)

* fix split and replace with empty first arg

* fix reserve size

2 months agovulkan: support non-contig unary/glu ops (#24215)
Jeff Bolz [Sat, 13 Jun 2026 13:44:15 +0000 (08:44 -0500)]
vulkan: support non-contig unary/glu ops (#24215)

* vulkan: support non-contig unary/glu ops

Change unary/glu ops to pass in all strides and use fastdiv for the index
calculation. Put all unary ops in one file, similar to glu, to share the
code. codex went ahead and added expm1 without me asking, but I had to
make it do a real precision analysis rather than just making stuff up.

unary.comp initially couldn't use generic_unary_head because there wasn't
space for xielu's additional constants. Fixing this required packing the
fastdiv 'L' values.

* attempt to workaround compiler bug

* resolve conflict from #23991

* use expm1