Commit Graph
10219 Commits
Author SHA1 Message Date
Xuan Son Nguyen eae9c2c3f5 demo: use proper sampling 2026-08-01 14:42:10 +02:00
Xuan Son NguyenandPascal 06aae58899 fuse snake op
Co-authored-by: Pascal <[email protected]>
2026-08-01 13:16:29 +02:00
Xuan Son NguyenandPascal 914fd950a3 fix clamp cold prefix
Co-authored-by: Pascal <[email protected]>
2026-08-01 12:33:52 +02:00
Xuan Son Nguyen ffe530beb8 mtmd_helper_gen_audio API 2026-08-01 00:37:00 +02:00
Xuan Son Nguyen 1f096f4ade llama: add llama_model_get_tok_embd 2026-07-31 22:49:52 +02:00
Xuan Son Nguyen 3e9e484919 demo voice clone 2026-07-31 21:56:22 +02:00
Xuan Son Nguyen a9df03d08e code2wav preserve kv between calls 2026-07-31 19:59:41 +02:00
Xuan Son Nguyen 2348de100f demo (to be removed) 2026-07-31 18:39:44 +02:00
Xuan Son Nguyen 51027785e9 wip, correct code2wav 2026-07-31 17:00:17 +02:00
Xuan Son Nguyen 13bfdc667b wire up 2026-07-31 16:45:20 +02:00
Xuan Son Nguyen 79a99219c6 (wip) subgraph 2026-07-31 16:00:33 +02:00
Xuan Son Nguyen 84559b46a0 wire up in/out 2026-07-30 19:40:21 +02:00
Xuan Son Nguyen ff6b289261 code2wav graph ok 2026-07-30 19:25:50 +02:00
Xuan Son Nguyen bf0e641fda code2wav convert to gguf 2026-07-30 18:28:00 +02:00
Xuan Son Nguyen e68884dcf0 Merge branch 'master' into xsn/qwen3-tts 2026-07-30 17:04:49 +02:00
Xuan Son NguyenandPascal d98264a564 code gen cgraph init version
Co-authored-by: Pascal <[email protected]>
2026-07-30 12:50:22 +02:00
timkhronos b2f221684f Remove custom cpu op from the M3 graph, express with stock ops (#26297) b10189 2026-07-30 16:30:18 +08:00
Niklas WenzelandYiChen Lv d0bfb19812 metal: fix memory unwire if model is freed without any GPU operations (#26082)
* metal: fix memory leak if model is freed without any GPU operations

* metal: run dummy work only if residency sets are used

* metal: wrap function in #if defined

* metal: measure system-wide wired memory in test

* metal: always build regression test

Co-authored-by: YiChen Lv <[email protected]>

---------

Co-authored-by: YiChen Lv <[email protected]>
b10188
2026-07-30 11:11:27 +03:00
Aleksander Grygier 21a5f5b7f9 ui: IndexedDB and Conversations data fixes (#26278)
* fix: single-flight conversations store init

* refactor: remove unused legacy-migration util

* fix: make createSystemMessage transactional

* fix: delete message branches cascading on edit/regenerate

* fix: stop stamping lastModified on conversation metadata updates

* fix: count cascaded forks in bulk delete toast, bulkify deleteAll

* refactor: drop redundant conversation list respreads

* refactor: create conversation in a single write

* fix: use table constant in toggleConversationPin

* fix: keep the system message placeholder out of the edit form

* fix: keep focus in the system message editor after opening it

* fix: focus the main chat form after submitting a system message

* fix: update timestamp of the correct conversation on stream completion
2026-07-30 10:10:37 +02:00
Jonathan Clohessy 32703b42d6 ggml : Fix issue with kleidiai ci and stringop overflow warning (#26277)
Signed-off-by: Jonathan Clohessy <[email protected]>
b10186
2026-07-30 09:17:30 +03:00
Neo ZhangandGeorgi Gerganov a6a77bc48d [UT] enhance UT to show all real unsupported backends (#25234)
* enhance UT to show real unsupported backends

* cont : simplify

---------

Co-authored-by: Georgi Gerganov <[email protected]>
2026-07-30 14:04:58 +08:00
Tunahanandtnhnyc 64d528be72 mimo2: address MTP review feedback (#26228)
Co-authored-by: tnhnyc <[email protected]>
b10184
2026-07-30 11:55:58 +08:00
Xuan Son Nguyen 2e9e8bbe34 wire up 2026-07-30 00:12:08 +02:00
Xuan Son Nguyen 4712dce74f add clip_encode 2026-07-29 23:26:33 +02:00
Xuan Son Nguyen bd38cb5cc2 load gen_code model ok 2026-07-29 21:38:24 +02:00
Xuan Son Nguyen ed0b0503d6 convert code_predictor to gguf 2026-07-29 21:10:44 +02:00
Xuan Son Nguyen eea7c8b3db poc new mtmd gen api 2026-07-29 21:08:30 +02:00
Xuan Son Nguyen 85af600c4f add suppress_tokens 2026-07-29 20:27:09 +02:00
Xuan Son Nguyen ebd17cc1cb Merge branch 'master' into xsn/qwen3-tts 2026-07-29 20:07:12 +02:00
Aleksander Grygier 3018a11e79 fix: increase greeting spacing on md screens (#26287) 2026-07-29 19:25:13 +02:00
Xuan-Son Nguyen afeebe103b llama: move suppress_tokens handling to common/sampling (#26276)
* llama: move suppress_tokens handling to common/sampling

* address security issues

* rm has_logit_bias
b10182
2026-07-29 18:02:30 +02:00
KakaruandKakaruHayate caa596ab3f ggml-cuda : disable MMQ on devices with less than 48 KiB shared memory (#26141)
ggml_cuda_should_use_mmq() selects MMQ purely from the quantization
type. The current MMQ configurations are designed and maintained against
a minimum of 48 KiB per-block shared memory, the limit provided by
NVIDIA Pascal GPUs and later. On devices that report less, no supported
MMQ tile fits and mul_mat_q_switch_J() aborts when every tile size
exceeds the device's per-block shared memory budget.

Disable MMQ when smpbo < 48 KiB so the caller falls back to the BLAS
path instead of hitting GGML_ABORT. Some current MUSA QY1 devices
report only 28 KiB and are covered by this guard.

Reproduced on a Moore Threads MTT S70 (arch mp_21, 28 KiB shared memory
per block) with an RWKV-7 0.1B Q8_0 model:

  $ llama-bench -m rwkv7-g1d-0.1b-Q8_0.gguf -p 128 -n 0
  J_best=0
  ggml/src/ggml-cuda/template-instances/../mmq.cuh:1521: fatal error
  (core dumped)

Only prefill (batch > 1) is affected; token generation is fine. After
the fix the same device falls back to the BLAS path:

  Q8_0    pp128 1470.7 t/s, tg8 55.3 t/s   (was: abort)
  FP16    unchanged
  Q4_K_M  unchanged

This matches a -DGGML_CUDA_FORCE_CUBLAS=ON build (pp128 1464.2 t/s),
which confirms the fallback path is the one being taken.

This is not MUSA-specific: any device with less than 48 KiB per-block
shared memory is affected.

Co-authored-by: KakaruHayate <[email protected]>
b10181
2026-07-29 20:27:35 +08:00
Xuan Son Nguyen 894ac82b19 adapt vocab for backbone (with some tricks) 2026-07-29 14:24:55 +02:00
Titaniumtown 11b068d066 sycl: contiguous fast path + 32-bit index math for unary elementwise ops (#25946)
* sycl: contiguous fast path + 32-bit index math for unary elementwise ops

* sycl: use fastdiv for elementwise index math
b10180
2026-07-29 15:16:57 +03:00
Alessandro de Oliveira Faria (A.K.A.CABELO) e2f59ed71d vendor: update BoringSSL to 0.20260728.0 (#26241) b10179 2026-07-29 15:16:02 +03:00
Georgi Gerganov 992c325323 server : add trace logging for slot similarity checking (#26271)
Adds trace logging in server-context.cpp for slot similarity checking
during prompt cache slot selection, including skip reasons and similarity
calculation details.

Assisted-by: llama.cpp:Qwen3.6-27B
b10178
2026-07-29 14:59:44 +03:00
Kaben Nanlohy e1af89a681 conversion: fix Qwen2.5-Omni mmproj conversion regression (#26262) 2026-07-29 12:53:44 +02:00
Aman Gupta f5b9bd39b5 RPC: add tensor_memset (#25912) b10176 2026-07-29 15:04:30 +08:00
Geramy Loveless 60bccc3763 add rdna3.5, and 3 to mmq configs so they can be tuned independently. (#26199) b10175 2026-07-29 08:43:45 +02:00
Satinder GrewalandClaude Fable 5 7be2c65dc9 model: add NextN/MTP speculative decoding support for GLM_DSA (GLM-5.2) (#25980)
* model: add NextN/MTP speculative decoding support for GLM_DSA (GLM-5.2)

Adds GLM-5.2 NextN/MTP as a --spec-type draft-mtp target: nextn tensor
loading via the qwen35moe/step35-style presence probe, a graph_mtp
builder (enorm/hnorm/eh_proj + dense MLA + sigmoid-gated MoE with
shared expert + shared head with fallbacks, _s scale tensors passed
for NVFP4), t_h_nextn extraction in the trunk graph, and MTP-context
KV setup: the draft head runs dense MLA, so the MTP context uses a
plain attention KV cache holding only the nextn layer(s) (same
pattern as the hybrid Qwen3.5 MTP context) while the main context
keeps the DSA cache, now filtered to trunk layers only.

Co-Authored-By: Claude Fable 5 <[email protected]>

* convert : support --mtp/--no-mtp export for GlmMoeDsaForCausalLM (GLM-5.2)

Opt GLM-5.2 into the supports_mtp_export contract (post-#25641 shape,
mirroring HYV3Model/Step35Model): --no-mtp drops the appended NextN
block (blk.78) and its nextn_predict_layers KV; --mtp keeps only the
NextN block plus shared embeddings/norm/lm_head. Default (bundled)
output is unchanged.

Co-Authored-By: Claude Fable 5 <[email protected]>

---------

Co-authored-by: Claude Fable 5 <[email protected]>
b10174
2026-07-29 14:02:31 +08:00
Xuan Son Nguyen b98aff2605 Merge branch 'master' into xsn/qwen3-tts 2026-07-29 01:53:15 +02:00
Xuan Son Nguyen 4da8d180c3 speaker enc graph 2026-07-29 01:49:19 +02:00
Xuan Son Nguyen 39b9c2d5a0 speaker encoder loading ok 2026-07-29 01:32:01 +02:00
Xuan Son Nguyen de0ac58c1f convert encoder ok 2026-07-29 01:02:45 +02:00
Xuan Son Nguyen 8892b6c60b main model load ok 2026-07-29 00:36:36 +02:00
Xuan Son Nguyen ae7663e829 convert text model 2026-07-28 23:29:44 +02:00
Guido Imperiale e9fa0781f1 model: Add Laguna-S-2.1 LLM_TYPE (#26233) b10173 2026-07-28 21:02:33 +02:00
Reese Levine bc71c24c9d ggml-webgpu: Fix some binding alias issues to support all archs, fix recurrent-state-rollback test (#25931)
* Add overlap glu variant to support all archs, fix recurrent-state-rollback test

* format

* Fix all arch overlapped ranges

* format

* diagnose bus error on apple ci

* More testing

* more testing

* more targeted testing

* Fix bug in alignment for > 4gb buffer offsets

* Fix bug in view offsets

* Try avoiding multi_buffers

* not fixed yet, more logging :(

* Handle edge case in set_rows

* Try looking at view source

* Skip deepseek32 for now and clean up trace infrastructure

* simplify skipping

* last cleanup

* actually final cleanup

* update handling of overlap

* format

* try skipping other failing model
b10172
2026-07-28 21:13:06 +03:00
Hongqiang Wang 8190848bb3 opencl: skip the Adreno KQ/KQV image kernels for multi-stream batches (#26189)
The Adreno KQ/KQV image1d kernels (ggml_cl_mul_mat_kq_kqv_adreno) ignore
dim 3 entirely: the sub-buffer covers only nb02*ne02 bytes and the kernel
receives no ne03/ne13/nb03/nb13 arguments. With the unified KV cache,
multi-sequence batches (e.g. llama-perplexity with its default -b 2048,
n_seq=4, or a multi-slot llama-server) present KQ/KQV as 4D tensors with
ne3 = n_stream, so every stream past the first reads the first stream's
K/V and produces garbage. Flash attention masks the bug where it is
enabled; devices where FA is declined (e.g. Adreno 740) hit it with
default settings.

Route ne03/ne13 > 1 to the general path, which handles dim 3, and honor
view_offs when creating the sub-buffers (currently always 0 for tensors
reaching this function, but the function would silently misread any
future view).

Llama-3.2-1B-Instruct Q4_0, wiki.test.raw, 8 chunks, -ngl 99:
- Adreno 740, default:            PPL 1817.64 -> 15.61
- Adreno 740, -fa 0:              PPL 1941.64 -> 15.61
- Adreno 840, -fa 0:              PPL 1943.90 -> 15.50
- single-stream (-b 512) results unchanged (15.6090)
- test-backend-ops -o MUL_MAT on 740: identical before/after (909 OK,
  12 pre-existing q6_K failures)
b10171
2026-07-28 11:04:42 -07:00
7e1e28cae3 mtmd : add Nemotron 3 Nano Omni support (parakeet) (#22520)
* mtmd : add Nemotron 3 Nano Omni support (parakeet)

This commit adds support for the subsampling and encoder part of
Nemotron Nemo 3 omni model.

The Parakeet subsampling/encoder were taken from parakeet.cpp which
is currently a pull request against whisper.cpp. I've tried to copy the
code a close as possible to hopefully enable easy patching between the
these two project later.

Refs: https://github.com/ggml-org/whisper.cpp/pull/3735

* mtmd : generate rel pos tensor in graph instead of in conversion [no ci]

This commit removes the generation of the relative positional tensor in
the model conversion script and instead computes it in the encoder
graph. This is only done for the window of positions required for the
current audio sample.

* mtmd : add clip_get_model to clip API [no ci]

This commit adds a function to get access to the clip_model. It also
removes the two functions clip_get_mel_filter_tensor, and
clip_get_window_tensor(const struct clip_ctx * ctx) which can now use
clip_get_model to access the model tensors that it needs.

* mtmd : read mel_filters and window into hparams

* mtmd : use set_input_f32 lambda [no ci]

* mtmd : add better asserts for mel_filters and hann window [no ci]

* mtmd : add missing size_t cast

* mtmd : change type of pad to size_t

* mtmd : zero initialize samples_padded

* mtmd : remove unsued ctx member from parakeet preprocessor

* mtmd : make log_mel_spectrogram_parakeet_worker_thread private static

* mtmd : sync/update parakeeet impl with latest whisper.cpp

This commit updates the parakeet code in mtmd to reflect the latest
updates to parakeet.cpp in whisper.cpp.

A follow up commit will address the currently hardcoded dw_pad and see
if we can add n_conv_kernel as a model metadata field.

* mtmd : add audio_conv_kernel_size to model conversion

This commit updates the model conversion to read the conv_kernel_size
field from the sound_config section of the models config.json file.
It then uses this field instead of the hardcoded values in parakeet.cpp.

* mtmd : cleanup [no ci]

* conversion : call super().filter_tensors [no ci]

* do not discard result of super filter_tensors

* mtmd : use build_mm instead of ggml_mul_mat

* mtmd : use build_ffn

* mtmd : move and reuse get_vector lambda

* mtmd : use build_inp_raw for parakeet

* mtmd : throw exception in get_scalar instead of assert

* mtmd : fix std::min call

* mtmt : use .c_str in throw clause in get_vector

* mtmd : check for F32 type and non-empty tensor in get_vector

The get_vector lambda is used by get_scalar but also standalone to read
in the mel_filters and the window data. Therefor we are not checking
for 1D tensors but allowing multiple dimensions. We do have a check in
get_scalar to verify the size of the vector.

* mtmd : replace hardcoded 1101 for n_tokens_real

* mtmd : assert subsampling_factor is 8

This commit adds an assert of the parakeet subsampling factor to check
that it is 8.

The motivation for this is that this model currently has three
convolutions with a stride of 2. If the underlying model updates the
subsampling factor these convolution operations will need to be updated
and this will produce and error if this occurs.

* mtmd : remove unused ggml_tensors attn_pos_w and mm_norm_w

* mtmd : remove single thread path

This commit removes the single thread path which was a left over from
the original parakeet.cpp where n_threads is configurable.

* fix some security issues

---------

Co-authored-by: Sigbjørn Skjæret <[email protected]>
Co-authored-by: Xuan Son Nguyen <[email protected]>
2026-07-28 17:20:25 +02:00