Skip to content

Sync upstream master (2026-09-24, ggml-org 8212c7802) - #11

Merged
benjigill merged 18 commits into
masterfrom
sync/upstream-2026-09-24
Sep 28, 2026
Merged

benjigill merged 18 commits into
masterfrom
sync/upstream-2026-09-24

Conversation

@benjigill

Copy link
Copy Markdown
Owner

Merges 17 upstream commits from ggml-org/llama.cpp: 6e60f3560..8212c7802.

Dropped patches

None. No carried patch has landed upstream.

Notable upstream changes

  • llama: add llama_batch_ext (#24669) touches src/llama-context.*, common/speculative.cpp and tools/server/server-context.cpp. It auto-merged with our patches.
  • cuda : add conv3d with implicit GEMM (#29137) auto-merged into ggml-cuda.cu.
  • tests: add -b/--backend to test-llama-archs (#27372)

Conflicted files

Verification (macOS, no CUDA)

  • sync.sh verify: no fork files lost or newly different, and no fork diff sizes changed. The leak check on the fork delta is clean.
  • The build compiles and ctest -L main passes 54/55. The one failure is test-tokenizers-ggml-vocabs: the local vocab files are unfetched Git LFS pointers, which is unrelated to this merge.

Before merging (Linux box, sm_120)

  • git fetch && git switch sync/upstream-2026-09-24, then a CUDA build
  • test-backend-ops for the carried CUDA ops (-o MUL_MAT, fused GLU, GATED_DELTA_NET)
  • scripts/fork/bench_qwen38.py A/B against the previous master (bc15717b9): pp/tg and spec acceptance within noise
  • Short llama-server smoke test with MTP + ngram-mod

Merge with "Create a merge commit". Do not squash or rebase.

yomaytk and others added 18 commits September 23, 2026 22:27
…ecific backend (ggml-org#27372)

* tests: add backend option to test-llama-archs

* Update tests/test-llama-archs.cpp

Co-authored-by: Johannes Gäßler <johannesg@5d6.de>

* remove extra space

---------

Co-authored-by: Johannes Gäßler <johannesg@5d6.de>
Resolve the target arch with get_model_architecture so vision targets
(e.g. Lfm2VlForConditionalGeneration) map to their text model for the vocab.

Fix double rope reorder for LFM2/LFM2.5 DSpark drafters
ggml-org#29336)

make-release-desc.sh now emits "Changelog since [vX.Y.Z](<repo>/releases/tag/vX.Y.Z)"
instead of a plain version string, so the release notes link back to the previous release.

The repo URL is derived from the origin remote (SSH or HTTPS); if it cannot be
resolved (local run without origin), the title falls back to plain text.

Assisted-by: pi:llama.cpp/Qwen3.8-27B
…de (ggml-org#29316)

* test-save-load-state : print a per-model results table in --models mode

in --models mode the output was very heavy: every model printed its
token dumps, per-test headers and PASS lines. instead, silence all
logging except the table itself (common_log_set_verbosity_thold(0)
leaves only LOG / LOG_LEVEL_OUTPUT) and print one row per model with
one column per test, colored PASS/FAIL/SKIP cells, row by row.

- run_save_load_tests_for_model returns a test_suite with a dynamic
  std::vector<test_status> and continues past failures: tests 3-5 are
  SKIPped when the baseline (test 1) fails, model init failure skips all
- per-test token dumps, test headers and PASS lines are demoted to
  LOGV(LOG_LEVEL_INFO, ...) so they still show in single-model mode
- the table header/rows derive their columns from test_names; the
  model name is printed and flushed before the suite runs so the model
  currently in flight is always visible
- single-model output and exit codes are unchanged

Assisted-by: pi:llama.cpp/Qwen3.8-27B

* test-save-load-state : print example usage on -h

add a print_usage callback passed to common_params_parse, so -h/--help
also shows example commands for the tool-specific --models option and
the -lv verbosity level

Assisted-by: pi:llama.cpp/Qwen3.8-27B

* test-save-load-state : remove comments

ref: ggml-org#29316

Assisted-by: pi:llama.cpp/Qwen3.8-27B
…n) (ggml-org#29325)

Signed-off-by: Adrien Gallouët <angt@huggingface.co>
* model : fold Ling 3.0 VL into the BailingMoeV3 architecture

Assisted-by: Scout

* model : keep shared NORM rope list intact when gating bailingmoe3 on mrope sections

---------

Co-authored-by: aetherbird <aetherbird@users.noreply.github.com>
* cuda : add conv3d with implicit GEMM

* cuda : refine conv3d implicit GEMM and handle empty kernels
…#29328)

* Enable coopmat support for Vulkan backend

* Fixed the mul_mat_s

* Removed the debug statement
* vulkan: handle misalignment in conv_2d and conv_3d

* fix test-backend-ops print
…gml-org#27952)

* vulkan: add int8 coopmat quantized matmul shader

* apply scales inline

* use scalar sums

* probe and directly access coopmat values instead of going through shmem

* add q8_0 support

* add BK_STEP to shader, default to 2

* use larger workgroups

* double buffering

* preload scales

* coopmat load first, then wmma

* use float for scales

* add faster RDNA int->float conversion

* workgroup scheduling for cache proximity

* clean up

* use wave32

* restructure for vgpr use

* skip computation for inactive tiles

* only force subgroup size 32 on AMD RDNA

* use BK_STEP 4

* fix compilation

* move quant-specific prefetch function out of main file

* add q4_1, q5_0, q5_1 support

* restructure mmq cm1 functions

* enable mul_mat_id support

* fix segfault

* fix mul_mat_id bug

* support iq4_nl and mxfp4

* remove elem row/col fast path, invalid for RDNA4

* use shmem arrays for LUTs

* use 4-byte loads where possible

* add q3_k, q4_k, q5_k, q6_k and nvfp4 support

* fix l warptile

* improve performance

* improve performance

* improvements

* dedup b scales

* merge shmem arrays

* undo uint8_t, gate to RDNA3/4

* add RDNA4 architecture, use for hardcoded coopmat elem thread access, set BK_STEP back to 4

* improve offset application

* clean up

* fix iq4_nl and nvfp4 performance

* rdna4 tuning

* use BK_STEP 2 on MUL_MAT_ID

* adapt to upstream changes

* fix shmem support function, clean up comments

* fix warptile logic

Co-authored-by: Piotr Wilkin (ilintar) <piotr.wilkin@syndatis.com>

* vulkan: add IQ4_XS support to the coopmat1 integer matmul shader (ggml-org#28440)

Adds IQ4_XS to mul_mmq_cm1: dedicated block_a_load/block_a_to_shmem that
expand both nibbles of each packed32 word through cm1_kvalues, LOAD_VEC_A 8
and an IQ4_XS-sized a_panel_bytes estimate for the L2-friendly scheduling.

Assisted-by: OpenAI Codex

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>

* avoid compiling f16 acc shader variants

---------

Co-authored-by: Piotr Wilkin (ilintar) <piotr.wilkin@syndatis.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
)

* ci : disable pytest workers in server sanitize workflow

Assisted-by: pi:llama.cpp/Qwen3.8-27B

* cont : switch to `cpu-performance`

* Revert "ci : disable pytest workers in server sanitize workflow"

This reverts commit 76ece3b.

* cont : use 2 pytest workers

* cont : try automatic pytest workers

* cont : use 4 pytest workers
This commit changes the default number of pytest workers to 4 instead of
auto.

Refs: ggml-org#29369 (comment)
* (wip) add llama_batch_ext

* wip

* updated design

* updated impl

* change signature

* unused var

* demo common_prompt_batch_decode

* fix pos

* tmp disable test-batch-alloc

* fix compat

* nits: add const

* no more pos_max

* add comment about llama_batch_ext_set_embd_state

* handle n_embd_out properly

* rename api --> embd_token

* llama_embd

* stub llama_batch_ext_set_embd_state

* support both token + embd + state in batch

* llama_batch_ext_add_embd

* upstream some changes

* nits

* fix test-batch-alloc

* add test for compat
…ad (ggml-org#28962)

* ui : allow svg use and animation tags in sanitizer

* ui : neutralize href animation retargeting in svg sanitizer
17 upstream commits (6e60f35..8212c78). No carried patches landed upstream.

Conflicts:
- tests/test-llama-archs.cpp: kept both our --test-mtp-ubatch-sync flag
  (ggml-org#26827) and upstream's -b/--backend flag (ggml-org#27372); the default path
  now calls test_backends(..., target_backend).
@benjigill
benjigill merged commit 9125fd9 into master Sep 28, 2026
@benjigill
benjigill deleted the sync/upstream-2026-09-24 branch September 28, 2026 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.