Commit Graph

10598 Commits

Author SHA1 Message Date
Ruben Ortlam 6a08f25c40 remove elem row/col fast path, invalid for RDNA4 2026-08-24 17:23:15 +02:00
Ruben Ortlam 218c4e05fd support iq4_nl and mxfp4 2026-08-24 17:10:17 +02:00
Ruben Ortlam aff8df0b6c fix mul_mat_id bug 2026-08-24 16:39:39 +02:00
Ruben Ortlam 87218255f5 fix segfault 2026-08-24 16:20:59 +02:00
Ruben Ortlam 073d6e7a9f enable mul_mat_id support 2026-08-24 15:59:55 +02:00
Ruben Ortlam 8be865249f restructure mmq cm1 functions 2026-08-24 15:49:48 +02:00
Ruben Ortlam 92d0bd2185 add q4_1, q5_0, q5_1 support 2026-08-24 15:29:39 +02:00
Ruben Ortlam 8fc44e56be move quant-specific prefetch function out of main file 2026-08-24 15:12:28 +02:00
Ruben Ortlam 43d831641c fix compilation 2026-08-24 14:50:46 +02:00
Ruben Ortlam 8f2c87e00b use BK_STEP 4 2026-08-24 14:37:05 +02:00
Ruben Ortlam 2702151b2e only force subgroup size 32 on AMD RDNA 2026-08-24 14:36:41 +02:00
Ruben Ortlam 464754143b skip computation for inactive tiles 2026-08-24 13:48:58 +02:00
Ruben Ortlam 2b6c3aa6f8 restructure for vgpr use 2026-08-24 13:07:06 +02:00
Ruben Ortlam 846af1d9f0 Revert "increase large tile size"
This reverts commit 7fabc25c5e.
2026-08-24 13:04:28 +02:00
Ruben Ortlam 7fabc25c5e increase large tile size 2026-08-24 12:41:33 +02:00
Ruben Ortlam 870c77988b use wave32 2026-08-24 12:24:21 +02:00
Ruben Ortlam b5251372d5 Revert "revert load reordering and scale pre-loading"
This reverts commit fbaefe0eaa.
2026-08-24 11:24:38 +02:00
Ruben Ortlam 7121ae4c5c clean up 2026-08-24 11:24:02 +02:00
Ruben Ortlam 0799ba2bc3 workgroup scheduling for cache proximity 2026-08-24 10:54:21 +02:00
Ruben Ortlam fbaefe0eaa revert load reordering and scale pre-loading 2026-08-24 10:46:57 +02:00
Ruben Ortlam 44d1dc488d add faster RDNA int->float conversion 2026-08-24 10:45:00 +02:00
Ruben Ortlam 6ca9b4548a use float for scales 2026-08-24 10:41:33 +02:00
Ruben Ortlam 1d2c5da46c coopmat load first, then wmma 2026-08-24 10:39:25 +02:00
Ruben Ortlam ab4e443f0f preload scales 2026-08-24 10:37:12 +02:00
Ruben Ortlam 21fb8eeef2 double buffering 2026-08-24 10:30:55 +02:00
Ruben Ortlam 39f4463627 use larger workgroups 2026-08-24 09:57:40 +02:00
Ruben Ortlam 1a97c2c54d add BK_STEP to shader, default to 2 2026-08-24 09:33:15 +02:00
Ruben Ortlam 33a4a5d637 add q8_0 support 2026-08-24 09:23:19 +02:00
Ruben Ortlam 14745383c1 probe and directly access coopmat values instead of going through shmem 2026-08-21 15:10:16 +02:00
Ruben Ortlam 6372bf7044 use scalar sums 2026-08-21 14:25:58 +02:00
Ruben Ortlam 954c789bc8 apply scales inline 2026-08-21 14:24:01 +02:00
Ruben Ortlam 0fdb24ca06 vulkan: add int8 coopmat quantized matmul shader 2026-08-21 14:24:01 +02:00
Georgi Gerganov bb4caa7540 llama.cpp : bump version to 0.2.0 (#27498) v0.2.0 b10566 2026-08-21 15:01:24 +03:00
Georgi Gerganov c4b0225d85 scripts : add release.sh for release preparation (#27497)
Similar to ggml/scripts/release.sh: validates repo state, creates a
release candidate branch (llama-rc-vX.Y.Z), bumps LLAMA_VERSION_* in
CMakeLists.txt and commits the version bump.

Usage: ./scripts/release.sh [major|minor|patch] [--dry-run]

Assisted-by: pi:llama.cpp/Qwen3.8-27B
2026-08-21 14:51:26 +03:00
Georgi Gerganov 5de25a7487 sync : ggml 2026-08-21 14:36:36 +03:00
Georgi Gerganov 01ff204fbd ggml : bump version to 0.21.0 (ggml/1597) 2026-08-21 14:36:36 +03:00
Georgi Gerganov 353b32d8b9 ci : remove duplicate flag (#27488) 2026-08-21 14:10:06 +03:00
Georgi Gerganov 7a0e42fd01 Revert "sycl : add Q2_K reordered MMVQ and ESIMD kernels (#26336)" (#27486)
This reverts commit ff14356e0c.
2026-08-21 14:02:03 +03:00
Aleksander Grygier 5b6ddc9675 ui: Settings navigation cleanup (#27241)
* ui : rework the settings registry into ordered raw-data sections

SETTINGS_REGISTRY becomes an ordered SettingsSectionEntry[] array; the
array order is the sidebar display order. Section titles, color mode
options and title radio options are declared inline in their section or
entry. Entries gain showInUi; MCP servers, the system-message toggle and
the title LLM flag become hidden entries of their own section.

Derived values (config defaults, help info, chat sections, numeric field
lists, syncable parameters) are still derived here; they move to their
actual consumers in follow-up commits.

* ui : extract settings localStorage persistence into SettingsService

Stateless load/save of the settings config and user-override keys, plus the
legacy theme key migration. Business logic (default merging, mobile
sendOnEnter default, applying the migrated theme) stays in the store.

* ui : move the settings exit route into ROUTES

SETTINGS_FALLBACK_EXIT_ROUTE is just a route, so it lives with the other
routes as ROUTES.SETTINGS_EXIT.

* ui : derive the syncable parameter list in the parameter sync service

The syncable parameter mapping is only consumed by the sync service, so
derive it there from the registry instead of exporting it from the
constants file.

* ui : restore isPrivate for API key masking

* ui : clean up settings registry and router fetch guard

Drop the per-entry section field (duplicates the parent slug and is
never read) and guard the router model fetch on fields?.length so the
Tools/Import-Export pages with empty fields are excluded again.

Assisted-by: pi

* ui : merge sampling and penalties settings into one section

Assisted-by: pi
2026-08-21 12:30:03 +02:00
Georgi Gerganov e467c2ff61 ci : add nightly-tag.txt to make-release (#27485)
As agreed in ggml discussion #1579, the official semver releases now
include a nightly-tag.txt asset containing the tag of the corresponding
nightly release (e.g. b10485). The Web UI assets are published to the
HF bucket under the nightly tag, so this makes them discoverable for
each official release.

- make-release-desc.sh: expose the resolved nightly tag as a
  nightly_tag output
- make-release.yml: create nightly-tag.txt from that tag, upload it
  as a release asset (skipped on dry-run), mention it in the release
  body and in the dry-run summary

Assisted-by: pi:llama.cpp/Qwen3.8-27B
2026-08-21 13:20:44 +03:00
Georgi Gerganov 1719747451 ci : release clean-up (#27477) 2026-08-21 11:33:40 +03:00
Charles Xu 62b2269060 kleidiai : add SME2 F32 GEMV kernel support (#26891) 2026-08-21 11:33:30 +03:00
Todd Malsbary ff14356e0c sycl : add Q2_K reordered MMVQ and ESIMD kernels (#26336)
* Add DMMV Q4_K and Q6_K ESIMD kernels

Configure cmake build with -DGGML_SYCL_ESIMD=ON to enable.

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Refactor ESIMD kernels to share common code

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Move control of ESIMD from compile to runtime

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Use ESIMD by default when available

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Fix possible error when using ESIMD by default

While not an issue in the current version, this will become an
issue when additional QK ESIMD kernels are added (such as Q2_K).

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Add explicit unroll to ESIMD kernels

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Tidy up ESIMD kernels a bit

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Add a reordered Q2_K MMVQ kernel

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Add DMMV Q2_K ESIMD kernel

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

---------

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>
2026-08-21 11:01:40 +03:00
Georgi Gerganov 5fff128451 test : make the FA V-is-view-of-K case a test case parameter (#27394)
Resolve the TODO in test_flash_attn_ext: the branch that creates V as a
sub-view of K (MLA-based models) was hardcoded for the 576/512 head shapes.
Add a v_is_view_of_k test case parameter (default false) and select the
sub-view branch on it; the existing 576/512 (DeepSeek MLA) cases now pass it
explicitly, so the test coverage is unchanged.

Also add more V-is-sub-view-of-K cases: the 320/256 (Mistral4 MLA) and
192/128 head shapes, and full views with equal head sizes (128/128 F16,
64/64 q8_0).

Assisted-by: pi:llama.cpp/Qwen3.8-27B
2026-08-21 10:29:17 +03:00
Todd Malsbary 9e89a196b8 sycl : Add Q5_K ESIMD kernel (#26376)
* Add DMMV Q4_K and Q6_K ESIMD kernels

Configure cmake build with -DGGML_SYCL_ESIMD=ON to enable.

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Refactor ESIMD kernels to share common code

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Move control of ESIMD from compile to runtime

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Use ESIMD by default when available

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Fix possible error when using ESIMD by default

While not an issue in the current version, this will become an
issue when additional QK ESIMD kernels are added (such as Q2_K).

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Add explicit unroll to ESIMD kernels

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Tidy up ESIMD kernels a bit

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Add DMMV Q5_K ESIMD kernel

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

* Remove redundant copyright notice

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>

---------

Signed-off-by: Todd Malsbary <todd.malsbary@intel.com>
2026-08-21 10:23:02 +03:00
Hongqiang Wang cd26896c19 opencl: keep the vocab-scale K-quant lm_head on the CPU for Adreno A7X (compiler issue workaround) (#26440)
* opencl: keep the vocab-scale K-quant lm_head on the CPU on the Adreno A7X

* opencl: revise comments

---------

Co-authored-by: Li He <lih@qti.qualcomm.com>
2026-08-20 22:30:17 -07:00
HumerousGorgon 1cb3f5eb41 sycl: Update gate logic for Alchemist GPUs regarding OneDNN features. (#26635)
* feat: updated gating logic of fattn-onednn.cpp

* verified device types

* Update ggml/src/ggml-sycl/fattn-onednn.cpp

Accepted recommendations to add bmg_g31 arch.

Co-authored-by: Neo Zhang <zhang.jianyu@outlook.com>

* Improved SPDA gate, added documentation.

* Added arch var to reworked gate, fixing build errors.

* Fix trailing whitespaces.

---------

Co-authored-by: Neo Zhang <zhang.jianyu@outlook.com>
2026-08-21 08:16:29 +03:00
Ian Faust 6602dd3389 sycl: fix multiple warnings in compiling sycl backend (#26713)
* Update norm.cpp

* Update helper.hpp

* Update im2col.cpp

* Update fattn-mkl.cpp

* Update element_wise.cpp

* Update fattn-mkl.cpp

* Update set_rows.cpp

* Update element_wise.cpp

* Update ggml-sycl.cpp

* Update ggml-sycl.cpp

* Update ggml-sycl.cpp

* Update ggml-sycl.cpp

* Update ggml-sycl.cpp

* Update norm.cpp

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update ggml-sycl.cpp
2026-08-21 08:15:40 +03:00
Neo Zhang 9e96cf77ff sycl : fix load model with mlock issue (#27250) 2026-08-21 08:14:54 +03:00
Chris Danis b2e5e9b28b TP: enable tensor split for LFM2/LFM2MOE (#26993)
Assisted-by: deepseek-v4-flash
b10549
2026-08-21 08:13:58 +03:00