Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
478 commits
Select commit Hold shift + click to select a range
b4aa7dd
mtmd : use align_corners for qwen3vl vision position embedding interp…
gerbenvv Jul 21, 2026
66e4bf7
convert: fix handle HunyuanVL XD-RoPE config (#25514)
wendadawen Jul 21, 2026
1f66c3c
Add support for Laguna XS.2 & M.1 (#25165)
joerowell Jul 22, 2026
67b9b0e
llama-arch: fix DeepSeek4 APE tensor op (#25945)
helanfxz Jul 22, 2026
c5a4a0b
cuda: GET_ROWS quants (#25962)
ServeurpersoCom Jul 22, 2026
7347430
webgpu : add CONV_2D_DW (depthwise conv2d) kernel (#25847)
m1el Jul 22, 2026
b4d6c7d
ci : fix SYCL package shared library lookup (#25987)
KyleHagy Jul 22, 2026
3ce7da2
ggml: enable PowerPC backend variants on AIX (#25983)
shalinib-ibm Jul 22, 2026
f534da2
Fix DeepSeek4 crafted template (#25414)
pwilkin Jul 22, 2026
6d5a910
common: infer the speculative type from the draft repo sidecars (#25989)
ServeurpersoCom Jul 22, 2026
e8e6c7a
minor: fix reasoning preserve var for DS4 [no ci] (#25999)
pwilkin Jul 22, 2026
61328e6
feat(ui): add symbolic math support to JS sandbox via nerdamer (#25948)
rankaiyx Jul 22, 2026
e0833bf
mtmd: use RAII for setting and resetting non-causal attention (#25723)
nikwen Jul 22, 2026
0278d83
hexagon: activation ops update (#25974)
tboinovski1 Jul 22, 2026
1a064ab
CUDA: Improve NVFP4 W4A4 activation quantization (#25730)
ORippler Jul 22, 2026
cf51256
ui: Add a "Default" option for the reasoning selector (#25846)
ServeurpersoCom Jul 22, 2026
4310aa4
contrib: allow all AI-generated code in general (#26012)
ngxson Jul 22, 2026
d941f6e
conversion: fix non-MoE NomicBert GGUF conversion error (#25996)
aorko01 Jul 23, 2026
c588c4f
metal : add f16 type support to leaky relu (#25981)
iliailmer Jul 23, 2026
da296d6
contrib: fix leftovers from the AI usage policy update (#26030)
ServeurpersoCom Jul 23, 2026
e6dd0e2
args: refactor mlock/mmap/directio into load-mode (#20834)
taronaeo Jul 23, 2026
1425386
CUDA: fix external compilation of q1_0 MMQ (#25778)
JohannesGaessler Jul 23, 2026
c0bc859
hexagon: fix Windows crash when op_poll is enabled (#26029)
adgup Jul 23, 2026
0a50d99
hexagon: further improved pipeline of the core bits (L2, DMA, MM, FA)…
max-krasnyansky Jul 24, 2026
0cea362
vendor: update subprocess.h (#26061)
ngxson Jul 24, 2026
8f5ab83
cohere2 moe template parser: enforce JSON schema for text responses i…
boondocklabs Jul 24, 2026
54ce507
UI: Fix settings precedence, Factory < Admin (--ui-config-file) < Use…
ServeurpersoCom Jul 24, 2026
77095ee
skill: create `add-new-model` and `code-review` (#26042)
ngxson Jul 24, 2026
56a8386
opencl: do not treat NULL-mask flash attention as causal (#25771)
kumaal Jul 24, 2026
ed7adbf
opencl: cache compiled cl_program binaries on disk (#26050)
wanghqc Jul 24, 2026
fa72aec
HIP: remove rocWMMA FlashAttention (#26046)
JohannesGaessler Jul 24, 2026
298219f
llama: various bug fixes (#26051)
ngxson Jul 24, 2026
27209a5
server: support "reasoning_effort": "none" in OAI API (#26045)
pnb Jul 24, 2026
95a923a
ui: fix MCP server display name conflicts in tools lists (#26011)
ServeurpersoCom Jul 24, 2026
88bfee1
model: add GLM 5.2 Indexer support (#25407)
pcuenca Jul 24, 2026
96013c5
ui: remove render effects (#26083)
ServeurpersoCom Jul 24, 2026
555881e
ui: reduce per-token render cost when streaming (#26053)
Jul 24, 2026
d67c0b4
tests: synchronize save-load-state generation (#26056)
helanfxz Jul 25, 2026
910196f
common : add support for multiple end sequences in the reasoning budg…
aldehir Jul 25, 2026
fb92d8f
Update ggml/src/gguf.cpp : Defined virtual keyword for destructor of …
yymin1022 Jul 25, 2026
720d7fa
vendor : update cpp-httplib to 0.51.0 (#26067)
angt Jul 25, 2026
2cfc767
server : add missing task parameters(adaptive_target, adaptive_decay)…
tekinertekin Jul 25, 2026
abc3487
server: add format arg to datetime tool (#26117)
ngxson Jul 25, 2026
c812c54
common : skip empty implicit default preset (#25643)
hogeheer499-commits Jul 25, 2026
355303e
hexagon: partial im2col support (#26007)
tboinovski1 Jul 25, 2026
20455a4
server: support MCP stdio (#26062)
ngxson Jul 25, 2026
8bb9093
common : use-after-free when loading LoRA adapter fails (#25611)
nmouha Jul 25, 2026
7cdd557
ggml-webgpu: Fix WASM compilation with OpenMP (#25943)
reeselevine Jul 26, 2026
ff067f7
ui: fix context gauge card regressions and land at the conversation e…
ServeurpersoCom Jul 26, 2026
42fc243
opencl: fix fused RMS norm mul view offset (#26085)
happyyzy Jul 26, 2026
b1d4c65
model: Add MiniMax-M3 (MSA: MiniMax Sparse Attention) support (#24908)
timkhronos Jul 26, 2026
af28502
mtmd: add GLM-5.2-Vision (#26126)
ehartford Jul 26, 2026
d2a8182
common: add `subproc.h` wrapper, disabled on android/ios (#26102)
ngxson Jul 26, 2026
55b7d6c
ui: detect the conversation import format from file contents (#26121)
ServeurpersoCom Jul 26, 2026
7657a6c
Keep Minimax's indexer tensors at F32 for speed and accuracy (#26144)
bartowski1182 Jul 26, 2026
d4d057b
ui: fix system message edit box not expanding to fit content (#26006)
pieroevcc Jul 26, 2026
0d47ea7
mtmd: fix android build (#26150)
ngxson Jul 26, 2026
3d1c3a8
mtmd: Add Vision Support for Minimax-M3 (#25113)
timkhronos Jul 26, 2026
88b47a7
ui: Fix symbolic math tool JS sandbox prompt (#26131)
rankaiyx Jul 27, 2026
d73c1d6
server + ui: fix stream routes for model names containing a slash (#2…
ServeurpersoCom Jul 27, 2026
ad256de
args: add `-lm mlock` where it mlocks but doesnt mmap (#26135)
taronaeo Jul 27, 2026
b910200
ggml-cpu: Enable BF16 tiled gemm optimization on PowerPC (#26068)
shalinib-ibm Jul 27, 2026
419b881
docs: add exception about weight folding (#26168)
ngxson Jul 27, 2026
ddfc228
common: fix explicit -md precedence over draft sidecar resolution (#2…
ServeurpersoCom Jul 27, 2026
7ef790f
tests : remove unnecessary sync in test-save-load-state (#26166)
ggerganov Jul 27, 2026
dee2a84
ggml : adjust logic for offloading ops to weight's backend (#25832)
ggerganov Jul 27, 2026
8e8681e
sycl(build): parallelize ocloc invocations (#25903)
Titaniumtown Jul 27, 2026
0324696
fit : count nextn (MTP) blocks in n_gpu_layers so front layers stay o…
John-194 Jul 27, 2026
b77d646
model: Add support for Nanbeige4.2 (#25994)
zqlcode Jul 27, 2026
0e4a036
common : add common_print_available_devices() (#26170)
angt Jul 27, 2026
1cbfd19
mtmd: support MiMo-V2.5 audio input (RVQ-based model) (#26190)
ngxson Jul 27, 2026
91f8c9c
Disable -ffast-math on HIP (#25495)
Beinsezii Jul 27, 2026
c6292cf
contrib : add guideline about the "merge ready" label (#26178)
ggerganov Jul 28, 2026
f870678
spec: add eagle3-v3 support for gpt-oss model (#25794)
ruixiang63 Jul 28, 2026
f95de97
ggml-metal: FWHT kernel for metal backend (#25924)
nicklafleur Jul 28, 2026
9a3bf2b
server : add extra trace log for prompt similarity (#26218)
ggerganov Jul 28, 2026
d6b61ac
sycl: fix use-after-return of the SDPA scale in the oneDNN flash-atte…
meatposes Jul 28, 2026
6ba5ef2
common/chat: add specialized minimax m3 parser (#26210)
aldehir Jul 28, 2026
8407527
spec: add DSpark speculative decoding (#25173)
wjinxu Jul 28, 2026
b62b350
ggml-cuda: add chunked SSD matmul for Mamba-2 prefill acceleration (#…
BLSharda Jul 28, 2026
8161641
vulkan: add iq4_nl support back to FA (#24585)
jeffbolznv Jul 28, 2026
da5b448
ggml : set output of view src (#25729)
am17an Jul 28, 2026
ee3d1b5
server: abstract llama_memory calls to common_memory (#26221)
ngxson Jul 28, 2026
ad77bd3
docs: Adapt conda-forge package name (#26229)
jjerphan Jul 28, 2026
6e2bc65
ui: rendering performance follow-up (#26097)
allozaur Jul 28, 2026
7e1e28c
mtmd : add Nemotron 3 Nano Omni support (parakeet) (#22520)
danbev Jul 28, 2026
8190848
opencl: skip the Adreno KQ/KQV image kernels for multi-stream batches…
wanghqc Jul 28, 2026
bc71c24
ggml-webgpu: Fix some binding alias issues to support all archs, fix …
reeselevine Jul 28, 2026
e9fa078
model: Add Laguna-S-2.1 LLM_TYPE (#26233)
crusaderky Jul 28, 2026
7be2c65
model: add NextN/MTP speculative decoding support for GLM_DSA (GLM-5.…
satindergrewal Jul 29, 2026
60bccc3
add rdna3.5, and 3 to mmq configs so they can be tuned independently.…
Geramy Jul 29, 2026
f5b9bd3
RPC: add tensor_memset (#25912)
am17an Jul 29, 2026
e1af89a
conversion: fix Qwen2.5-Omni mmproj conversion regression (#26262)
kaben Jul 29, 2026
992c325
server : add trace logging for slot similarity checking (#26271)
ggerganov Jul 29, 2026
e2f59ed
vendor: update BoringSSL to 0.20260728.0 (#26241)
cabelo Jul 29, 2026
11b068d
sycl: contiguous fast path + 32-bit index math for unary elementwise …
Titaniumtown Jul 29, 2026
caa596a
ggml-cuda : disable MMQ on devices with less than 48 KiB shared memor…
KakaruHayate Jul 29, 2026
afeebe1
llama: move suppress_tokens handling to common/sampling (#26276)
ngxson Jul 29, 2026
3018a11
fix: increase greeting spacing on md screens (#26287)
allozaur Jul 29, 2026
64d528b
mimo2: address MTP review feedback (#26228)
tnhnyzc Jul 30, 2026
a6a77bc
[UT] enhance UT to show all real unsupported backends (#25234)
arthw Jul 30, 2026
32703b4
ggml : Fix issue with kleidiai ci and stringop overflow warning (#26277)
JonathanC-ARM Jul 30, 2026
21a5f5b
ui: IndexedDB and Conversations data fixes (#26278)
allozaur Jul 30, 2026
d0bfb19
metal: fix memory unwire if model is freed without any GPU operations…
nikwen Jul 30, 2026
b2f2216
Remove custom cpu op from the M3 graph, express with stock ops (#26297)
timkhronos Jul 30, 2026
9b2a088
CUDA: add Q2_0 support (#25707)
khosravipasha Jul 30, 2026
6a4c335
ggml : bump version to 0.18.0 (ggml/1576)
ggerganov Jul 30, 2026
9ebfc3a
sync : ggml
ggerganov Jul 30, 2026
6b36c23
readme : refresh (#26280)
ggerganov Jul 30, 2026
e1a1abb
ggml-cuda: Allow transpose-free gemmv computation (#26171)
roberteg16 Jul 30, 2026
47f686f
tests : avoid building get-model.cpp many times (#26317)
ggerganov Jul 30, 2026
432d7ff
llama-context : sync pending async copies before clearing embd_seq (#…
o7si Jul 30, 2026
958d9c0
Test support for alternative conv layout (#25617)
pmaybank Jul 30, 2026
ea63b4d
vulkan: Support quantized concat (#25684)
jeffbolznv Jul 30, 2026
b4ca032
server: support inp embd to generate next token (#26313)
ngxson Jul 30, 2026
5f55650
mtmd: add lanczos resize method [no release] (#26341)
ngxson Jul 30, 2026
2fa1ead
fix: resolve CI compile errors
turbo-tan Jun 10, 2026
b739470
fix: pass rope_freqs duplicated flag to create_tensor
turbo-tan Jun 10, 2026
83f884c
fix: correct format specifiers for int64_t in gemma4-assistant.cpp
turbo-tan Jun 10, 2026
aee9867
fix: use portable PRId64 format specifier for int64_t
turbo-tan Jun 10, 2026
b875eae
ci(hip): restore removed VGPR ignores + add Q8_0 type8 variants
charpdev Jun 2, 2026
b3a7fa3
ggml-cuda: fix fattn-vec and tokenizer vocabs
turbo-tan Jun 11, 2026
6e42037
ci: install git-lfs on self-hosted cpu job
turbo-tan Jun 11, 2026
5141e16
ci: keep self-hosted cpu job generic
turbo-tan Jun 11, 2026
abf645d
tests : make tokenizer vocab traversal portable
turbo-tan Jun 11, 2026
acd0bb3
kv-cache: follow the source cache size when sharing cells (#24267)
ServeurpersoCom Jun 7, 2026
cd006e8
kv-cache: follow the source cache size when sharing cells (#24267)
ServeurpersoCom Jun 7, 2026
96f3be2
kv-cache : avoid kv cells copies (#24277)
ggerganov Jun 7, 2026
cb30c19
server : do not clear slots without unified KV cache (#24190)
fiesh Jun 9, 2026
0933f6d
server: log prompts to directory (#22031)
jacekpoplawski Jun 9, 2026
d02519b
arg: Skip mmproj download when user supplied mmproj (#24239)
konradmb Jun 7, 2026
9bc8060
kv-cache: follow the source cache size when sharing cells (#24267)
ServeurpersoCom Jun 7, 2026
a4e1f76
kv-cache : avoid kv cells copies (#24277)
ggerganov Jun 7, 2026
00b3d54
server: log prompts to directory (#22031)
jacekpoplawski Jun 9, 2026
c1009fa
sync: restore TQ3 runtime on current upstream
turbo-tan Jun 12, 2026
0de63aa
cuda: enable tq3_0 KV set_rows in llama-bench
turbo-tan Jun 12, 2026
1ac612a
llama: fix output reorder layer input stride
charpdev Jun 12, 2026
bf469bb
publish: restore out6k winner chat template
turbo-tan Jun 13, 2026
08b2da3
docs: record out6k full suite recovery result
turbo-tan Jun 13, 2026
ccba5a5
docs: track upstream catch-up branch state
turbo-tan Jun 13, 2026
859dab2
turboquant: record out6k-v2b recipe and tensor-policy doc
turbo-tan Jun 13, 2026
4e32b66
turboquant: record out6k (baseline) recipe and tensor-policy doc
turbo-tan Jun 13, 2026
47270d8
docs: restore full turboquant knowledge base from perf/a5 and compani…
turbo-tan Jun 13, 2026
cfd032d
docs: add navigable index.html for docs folder
turbo-tan Jun 13, 2026
bb11324
out6k: recover template and MTP parity
turbo-tan Jun 13, 2026
70ebe7c
out6k-v2b: rebuild with Q8_0 ssm_alpha/beta (was F32, caused crash + …
turbo-tan Jun 13, 2026
55fd6d2
docs: centralize benchmark navigation and roots
turbo-tan Jun 13, 2026
76f307f
docs: remove old out6k benchmark sop path
turbo-tan Jun 13, 2026
cbf7fa6
turboquant: rebase protection docs + runtime fixes checkpoint
turbo-tan Jun 17, 2026
008cc36
turboquant: migrate experiment artifacts to ai_workspace repo
turbo-tan Jun 17, 2026
c442c46
perf+fix: TQ3_4S dp4a + MMQ accuracy rebase (#36)
turbo-tan Jun 18, 2026
0928859
cuda: fix turbo4 KV cache set rows (#42)
turbo-tan Jun 26, 2026
f1c52ca
sync: fix upstream rebase build
charpdev Jun 26, 2026
9210699
server: match speculative checkpoint restore flags
charpdev Jun 27, 2026
7b5ba91
server: fix MTP speculative checkpoint position (GX10 gate: 40.9 tok/…
turbo-tan Jun 28, 2026
d62cbf5
ggml-cuda: restrict tq3_0 V vector FA bypass to decode (Q <= 4) (#49)
turbo-tan Jun 28, 2026
d4da508
port: turbo2/3/4 data-format layer from TheTom crush/turbo4 + PR #197
charpdev Jun 28, 2026
2eba3ad
port: wire turbo3/4 vec FA kernel cases + gate to decode-only
charpdev Jun 28, 2026
537d556
port: turbo fused-MMA FA kernels from TheTom crush/turbo4
charpdev Jun 28, 2026
bf3d9a5
cuda: fix FA crash for asymmetric standard-K + turbo-V configs
charpdev Jun 28, 2026
481c0e0
fix: remove GGML_API from turbo3_cpu_wht_group_size definition
charpdev Jun 28, 2026
399f8bb
feat: define BLACKWELL_MMA_AVAILABLE based on __CUDA_ARCH__
charpdev Jun 28, 2026
36727a7
fix: add GGML_TYPE_TURBO2_0 to all type-switch arms in ops.cpp
charpdev Jun 28, 2026
8781dea
fix: guard early BLACKWELL_MMA_AVAILABLE definition against HIP
charpdev Jun 28, 2026
422f947
opencl: flash attention improvement (#25069)
wanghqc Jun 27, 2026
f452329
logs : reduce v2 (#25078)
ggerganov Jun 28, 2026
1d6942c
spec : add DFlash support (#22105)
ruixiang63 Jun 28, 2026
fb7a735
chat : implement minicpm5 parser (#24889)
aldehir Jun 28, 2026
9fca24c
DeepSeek V4 (#24162)
am17an Jun 29, 2026
2233b1a
cuda: fix malformed preprocessor directive in mmq.cuh Blackwell TQ3_4…
charpdev Jun 28, 2026
e0939aa
fix: use device-compatible ue4m3 conversion functions in TQ3_4S NVFP4…
charpdev Jun 28, 2026
c7c3b45
fix: handle cudaFuncGetAttributes failure on Blackwell gracefully
charpdev Jun 28, 2026
36fb4c6
cuda: quantize native FP4 activations for NVFP4 MMQ
charpdev Jun 29, 2026
b12d564
cuda: fix TQ3_4S native FP4 tile layout
charpdev Jun 29, 2026
9f97f9f
cuda: accelerate TQ3_4S native FP4 packing
charpdev Jun 29, 2026
6dbfee6
test: cover TQ3_4S native FP4 MMQ
charpdev Jun 29, 2026
86cb29e
cuda: preserve TQ3_4S FP4 scale search with native packing
charpdev Jun 29, 2026
5631e99
cuda: prepack TQ3_4S weights for FP4 MMQ
charpdev Jun 29, 2026
0638d9c
cuda: gate TQ3_4S FP4 MMQ to large prefill
turbo-tan Jun 30, 2026
4afb445
cuda: allow uncached TQ3_4S FP4 MMQ
charpdev Jun 30, 2026
cfe99c4
cuda: add TQ3 FP4 cache controls
charpdev Jun 30, 2026
574ab47
cuda: drop TQ3_4S FP4 ue4m3 scale search to single candidate
turbo-tan Jun 30, 2026
92fed47
cuda: add Option E transient per-matmul TQ3_4S->NVFP4 conversion
turbo-tan Jun 30, 2026
4f8efbf
cuda: pad TQ3_4S->NVFP4 weight rows to MATRIX_ROW_PADDING (fix non-51…
turbo-tan Jun 30, 2026
b53ab75
cuda: add TQ3 FP4 tensor gate
charpdev Jun 30, 2026
f471020
cuda: apply TQ3 FP4 tensor gate before MMQ
charpdev Jun 30, 2026
c3845e5
cuda: make Gemma TQ3 FP4 default safe
charpdev Jun 30, 2026
3354239
docs: add TQ3_4S FP4 runtime notes
charpdev Jun 30, 2026
7403a53
tests: gate TQ3_4S FP4 cases to Blackwell
charpdev Jun 30, 2026
79aaac8
docs: add TQ3_4S FP4 chart
charpdev Jun 30, 2026
65a4411
cuda: clean up TQ3 FP4 scale selection
charpdev Jun 30, 2026
0cde1d9
ci: skip unavailable self-hosted jobs in fork
charpdev Jun 30, 2026
8e264fa
ci: skip custom self-hosted arm jobs in fork
charpdev Jun 30, 2026
18100a8
cuda: synchronize TQ3 FP4 transient weights
charpdev Jul 1, 2026
4c6b30c
ggml : fix TQ3 validation popcount on Windows
charpdev Jul 1, 2026
5ba63d3
webgpu : disable unsupported test paths
charpdev Jul 1, 2026
89c819e
webgpu : format gated delta support check
charpdev Jul 1, 2026
f991a19
webgpu : align gated delta support check
charpdev Jul 1, 2026
9eaf688
webgpu : apply clang-format to support check
charpdev Jul 1, 2026
2e475e3
ci: avoid unavailable fork runners
charpdev Jul 1, 2026
4650223
ci: skip hosted UI jobs in fork
charpdev Jul 1, 2026
1103d9a
cuda: fix malformed preprocessor directive in mmq.cuh Blackwell TQ3_4…
charpdev Jun 28, 2026
85857cd
fix: use device-compatible ue4m3 conversion functions in TQ3_4S NVFP4…
charpdev Jun 28, 2026
a43f790
cuda: quantize native FP4 activations for NVFP4 MMQ
charpdev Jun 29, 2026
b938d06
cuda: fix TQ3_4S native FP4 tile layout
charpdev Jun 29, 2026
bdd03cf
cuda: accelerate TQ3_4S native FP4 packing
charpdev Jun 29, 2026
5ecfe8d
test: cover TQ3_4S native FP4 MMQ
charpdev Jun 29, 2026
942e497
cuda: preserve TQ3_4S FP4 scale search with native packing
charpdev Jun 29, 2026
aa737b2
cuda: prepack TQ3_4S weights for FP4 MMQ
charpdev Jun 29, 2026
594cb20
cuda: gate TQ3_4S FP4 MMQ to large prefill
turbo-tan Jun 30, 2026
4a5c739
cuda: allow uncached TQ3_4S FP4 MMQ
charpdev Jun 30, 2026
8b182be
cuda: add TQ3 FP4 cache controls
charpdev Jun 30, 2026
6ef1300
cuda: drop TQ3_4S FP4 ue4m3 scale search to single candidate
turbo-tan Jun 30, 2026
077e2bf
cuda: add Option E transient per-matmul TQ3_4S->NVFP4 conversion
turbo-tan Jun 30, 2026
3988ca9
cuda: pad TQ3_4S->NVFP4 weight rows to MATRIX_ROW_PADDING (fix non-51…
turbo-tan Jun 30, 2026
f7154be
cuda: add TQ3 FP4 tensor gate
charpdev Jun 30, 2026
d0173fe
cuda: make Gemma TQ3 FP4 default safe
charpdev Jun 30, 2026
6f3dc3a
docs: add TQ3_4S FP4 runtime notes
charpdev Jun 30, 2026
28e2695
tests: gate TQ3_4S FP4 cases to Blackwell
charpdev Jun 30, 2026
ad6cbc3
docs: add TQ3_4S FP4 chart
charpdev Jun 30, 2026
0238d91
cuda: clean up TQ3 FP4 scale selection
charpdev Jun 30, 2026
73ab357
cuda: rotate TQ3_4S activations out-of-place (drop redundant memcpy)
charpdev Jul 1, 2026
31ed854
cuda: fuse TQ3_4S rotate into the NVFP4 activation quantizer
charpdev Jul 1, 2026
fc0027d
cuda: trim NVFP4 activation scale search to one ue4m3 candidate
charpdev Jul 1, 2026
3c47587
cuda: TQ3_4S Ampere decode +35% (PRMT vec_dot, nwarps, rotate fusion)…
turbo-tan Jul 3, 2026
80c2c6d
metal: add TQ3_4S GPU support (#59)
turbo-tan Jul 5, 2026
62036f8
feat: add Laguna XS.2 & M.1 arch support (cherry-pick upstream #25165…
turbo-tan Jul 30, 2026
8d99e09
fix: remove stale GGML_TYPE_Q2_0 references (enum removed upstream)
charpdev Jul 31, 2026
b4a74fd
fix: restore GGML_TYPE_Q2_0 enum (upstream removed, fork uses extensi…
charpdev Jul 31, 2026
3d8f2e3
fix: correct op count assert to 102
charpdev Jul 31, 2026
d8b9f7a
fix: restore f16_extra_data struct in fattn-common.cuh + fix gqa_rati…
charpdev Jul 31, 2026
35c7b90
fix: restore TQ3/Turbo type traits, mmq-config entries, and fork-spec…
charpdev Jul 31, 2026
91ae04c
merge: incorporate MTP shared-model fix (#64) into rebase branch
charpdev Jul 31, 2026
9897c36
Fix rebase conflicts and TQ3_4S build checks
charpdev Jul 31, 2026
0df0bbb
Fix TQ3 backend test registration
charpdev Jul 31, 2026
b778482
Fix Python lint after conflict cleanup
charpdev Jul 31, 2026
c723063
Update RPC protocol guard for Turbo WHT
charpdev Jul 31, 2026
6316519
Enable CUDA TQ3_0 KV cache updates
charpdev Jul 31, 2026
06fdd93
Remove unused CUDA attention helper
charpdev Jul 31, 2026
05d5510
Declare CUDA flash attention allocation helper
charpdev Jul 31, 2026
3bf3af7
cuda: restore TQ3 FP4 MMQ dispatch
charpdev Jul 31, 2026
a23d62d
cuda: fix GB10 TQ3 FP4 quantizer path
charpdev Aug 1, 2026
d3576b9
tests: remove duplicate quantize error expression
charpdev Aug 1, 2026
a6a962e
tests: restore TQ3 quantization tolerances
charpdev Aug 1, 2026
8ccccd9
hip: reduce CDNA Q2_K fallback register pressure
charpdev Aug 1, 2026
8c7a127
hip: restore upstream CDNA MMQ configuration
charpdev Aug 1, 2026
cf122c1
tests: skip MiniMax-M3 WebGPU architecture check
charpdev Aug 1, 2026
445aeb3
hip: reduce CDNA Q2_K fallback register use
charpdev Aug 1, 2026
f4301c9
hip: allow known RWKV VGPR usage
charpdev Aug 1, 2026
a716316
ggml : handle OpenVINO allocation failure
charpdev Aug 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 3 additions & 1 deletion .github/workflows/build-self-hosted.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
branches:
- master
paths: [
'.github/workflows/build.yml',
'.github/workflows/build-self-hosted.yml',
'**/CMakeLists.txt',
'**/.cmake',
'**/*.h',
Expand Down Expand Up @@ -48,6 +48,8 @@ concurrency:
cancel-in-progress: true

env:
# note: this is dud token to avoid rate limiting (https://github.com/ggml-org/llama.cpp/pull/25706#issuecomment-4979941302)
HF_TOKEN: ${{ secrets.HF_TOKEN_CI }}
GGML_NLOOP: 3
GGML_N_THREADS: 1
LLAMA_ARG_LOG_COLORS: 1
Expand Down
90 changes: 90 additions & 0 deletions .github/workflows/build-wasm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: CI (wasm)

on:
workflow_dispatch: # allows manual triggering
push:
branches:
- master
paths: [
'.github/workflows/build-wasm.yml',
'**/CMakeLists.txt',
'**/.cmake',
'**/*.h',
'**/*.hpp',
'**/*.c',
'**/*.cpp',
'**/*.wgsl',
'**/*.tmpl',
'ggml/src/ggml-webgpu/wgsl-shaders/embed_wgsl.py'
]

pull_request:
types: [opened, synchronize, reopened]
paths: [
'.github/workflows/build-wasm.yml',
'**/CMakeLists.txt',
'**/.cmake',
'**/*.h',
'**/*.hpp',
'**/*.c',
'**/*.cpp',
'**/*.wgsl',
'**/*.tmpl',
'ggml/src/ggml-webgpu/wgsl-shaders/embed_wgsl.py'
]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref && github.ref || github.run_id }}
cancel-in-progress: true

env:
GGML_NLOOP: 3
GGML_N_THREADS: 1
LLAMA_ARG_LOG_COLORS: 1
LLAMA_ARG_LOG_PREFIX: 1
LLAMA_ARG_LOG_TIMESTAMPS: 1

jobs:
ubuntu-webgpu:
runs-on: ubuntu-24.04-arm

steps:
- name: Clone
id: checkout
uses: actions/checkout@v6

- name: ccache
uses: ggml-org/ccache-action@v1.2.21
with:
key: webgpu-ubuntu-24.04-arm-wasm
evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}

- name: Install Emscripten
run: |
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest

- name: Fetch emdawnwebgpu
run: |
DAWN_TAG="v20260317.182325"
EMDAWN_PKG="emdawnwebgpu_pkg-${DAWN_TAG}.zip"
echo "Downloading ${EMDAWN_PKG}"
curl -L -o emdawn.zip \
"https://github.com/google/dawn/releases/download/${DAWN_TAG}/${EMDAWN_PKG}"
unzip emdawn.zip

- name: Build WASM WebGPU
run: |
source emsdk/emsdk_env.sh
emcmake cmake -B build-wasm \
-G "Ninja" \
-DCMAKE_BUILD_TYPE=Release \
-DGGML_WEBGPU=ON \
-DGGML_OPENMP=OFF \
-DLLAMA_OPENSSL=OFF \
-DEMDAWNWEBGPU_DIR=emdawnwebgpu_pkg

time cmake --build build-wasm --config Release --target test-backend-ops -j $(nproc)
47 changes: 3 additions & 44 deletions .github/workflows/build-webgpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ on:
'**/*.hpp',
'**/*.c',
'**/*.cpp',
'**/*.wgsl'
'**/*.wgsl',
'**/*.tmpl',
'ggml/src/ggml-webgpu/wgsl-shaders/embed_wgsl.py'
]

pull_request:
Expand Down Expand Up @@ -151,46 +153,3 @@ jobs:
# This is using llvmpipe and runs slower than other backends
# test-backend-ops is too slow on llvmpipe, skip it
ctest -L main -E test-backend-ops --verbose --timeout 900

ubuntu-wasm:
runs-on: ubuntu-24.04-arm

steps:
- name: Clone
id: checkout
uses: actions/checkout@v6

- name: ccache
uses: ggml-org/ccache-action@v1.2.21
with:
key: webgpu-ubuntu-24.04-arm-wasm
evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}

- name: Install Emscripten
run: |
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
./emsdk install latest
./emsdk activate latest

- name: Fetch emdawnwebgpu
run: |
DAWN_TAG="v20260317.182325"
EMDAWN_PKG="emdawnwebgpu_pkg-${DAWN_TAG}.zip"
echo "Downloading ${EMDAWN_PKG}"
curl -L -o emdawn.zip \
"https://github.com/google/dawn/releases/download/${DAWN_TAG}/${EMDAWN_PKG}"
unzip emdawn.zip

- name: Build WASM WebGPU
run: |
source emsdk/emsdk_env.sh
emcmake cmake -B build-wasm \
-G "Ninja" \
-DCMAKE_BUILD_TYPE=Release \
-DGGML_WEBGPU=ON \
-DLLAMA_OPENSSL=OFF \
-DEMDAWNWEBGPU_DIR=emdawnwebgpu_pkg

time cmake --build build-wasm --config Release --target test-backend-ops -j $(nproc)
4 changes: 4 additions & 0 deletions .github/workflows/hip-quality-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ on:
'.github/workflows/hip-quality-check.yml',
'**/*.cu',
'**/*.cuh',
'ggml/src/ggml-hip/CMakeLists.txt',
'ggml/src/ggml-cuda/vendors/hip.h',
'scripts/hip/gcn-cdna-vgpr-check.py'
]

Expand All @@ -18,6 +20,8 @@ on:
'.github/workflows/hip-quality-check.yml',
'**/*.cu',
'**/*.cuh',
'ggml/src/ggml-hip/CMakeLists.txt',
'ggml/src/ggml-cuda/vendors/hip.h',
'scripts/hip/gcn-cdna-vgpr-check.py'
]

Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1109,6 +1109,8 @@ jobs:
-DGGML_SYCL=ON \
-DCMAKE_C_COMPILER=icx \
-DCMAKE_CXX_COMPILER=icpx \
-DCMAKE_INSTALL_RPATH='$ORIGIN' \
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON \
-DLLAMA_OPENSSL=OFF \
-DGGML_NATIVE=OFF \
-DGGML_SYCL_F16=${{ matrix.fp16 }}
Expand Down Expand Up @@ -1651,6 +1653,9 @@ jobs:

</details>

**Website:**
- <https://llama.app>

**macOS/iOS:**
- [macOS Apple Silicon (arm64)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-macos-arm64.tar.gz)
- macOS Apple Silicon (arm64, KleidiAI enabled) [DISABLED](https://github.com/ggml-org/llama.cpp/pull/23780)
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/server-self-hosted.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ on:
]

env:
# note: this is dud token to avoid rate limiting (https://github.com/ggml-org/llama.cpp/pull/25706#issuecomment-4979941302)
HF_TOKEN: ${{ secrets.HF_TOKEN_CI }}
LLAMA_ARG_LOG_COLORS: 1
LLAMA_ARG_LOG_PREFIX: 1
LLAMA_ARG_LOG_TIMESTAMPS: 1
Expand Down Expand Up @@ -143,6 +145,24 @@ jobs:
export LLAMA_ARG_BACKEND_SAMPLING=1
pytest -v -x -m "not slow"

- name: Tests (GPUx2)
id: server_integration_tests_gpu2
if: ${{ !github.event.pull_request }}
run: |
cd tools/server/tests
source venv/bin/activate
export GGML_CUDA_DEVICES=2
pytest -v -x -m "not slow"

- name: Tests (GPUx2, backend-sampling)
id: server_integration_tests_gpu2_backend_sampling
if: ${{ !github.event.pull_request }}
run: |
cd tools/server/tests
source venv/bin/activate
export GGML_CUDA_DEVICES=2 LLAMA_ARG_BACKEND_SAMPLING=1
pytest -v -x -m "not slow"

server-kleidiai:
runs-on: ah-ubuntu_22_04-c8g_8x

Expand Down
1 change: 0 additions & 1 deletion .github/workflows/ui-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,3 @@ jobs:
hf buckets rm ggml-org/${{ env.HF_BUCKET_NAME }}/index.html --yes 2>/dev/null || true
hf buckets rm ggml-org/${{ env.HF_BUCKET_NAME }}/bundle.js --yes 2>/dev/null || true
hf buckets rm ggml-org/${{ env.HF_BUCKET_NAME }}/bundle.css --yes 2>/dev/null || true
hf buckets rm ggml-org/${{ env.HF_BUCKET_NAME }}/loading.html --yes 2>/dev/null || true
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -152,4 +152,4 @@ a.out.*
# AGENTS

AGENTS.local.md
.pi/SYSTEM.md
.pi/SYSTEM.md.*.rej
9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,14 @@ else()
set(LLAMA_TOOLS_INSTALL_DEFAULT ${LLAMA_STANDALONE})
endif()

# subprocess spawning isn't a supported/sandbox-friendly operation on mobile OSes or in WASM
if (CMAKE_SYSTEM_NAME STREQUAL "iOS" OR CMAKE_SYSTEM_NAME STREQUAL "Android" OR ANDROID
OR CMAKE_SYSTEM_NAME STREQUAL "Emscripten" OR EMSCRIPTEN)
set(LLAMA_SUBPROCESS_DEFAULT OFF)
else()
set(LLAMA_SUBPROCESS_DEFAULT ON)
endif()

#
# option list
#
Expand Down Expand Up @@ -117,6 +125,7 @@ option(LLAMA_TESTS_INSTALL "llama: install tests" ON)

# 3rd party libs
option(LLAMA_OPENSSL "llama: use openssl to support HTTPS" ON)
option(LLAMA_SUBPROCESS "llama-common: use subprocess, required by server tools and server router mode" ${LLAMA_SUBPROCESS_DEFAULT})
option(LLAMA_LLGUIDANCE "llama-common: include LLGuidance library for structured output in common utils" OFF)


Expand Down
3 changes: 2 additions & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@
/ggml/src/ggml-cpu/spacemit/ @alex-spacemit
/ggml/src/ggml-cuda/ @ggml-org/ggml-cuda
/ggml/src/ggml-cuda/vendors/hip.h @IMbackK
/ggml/src/ggml-cuda/fattn-wmma* @IMbackK
/ggml/src/ggml-hexagon/ @ggml-org/ggml-hexagon
/ggml/src/ggml-hip/ @IMbackK
/ggml/src/ggml-et/ @marty1885
/ggml/src/ggml-impl.h @ggerganov
/ggml/src/ggml-metal/ @ggml-org/ggml-metal
/ggml/src/ggml-opencl/ @ggml-org/ggml-opencl
Expand Down Expand Up @@ -119,3 +119,4 @@
/SECURITY.md @ggerganov
/build-xcframework.sh @danbev
requirements*.txt @CISC
/skills @ngxson
38 changes: 24 additions & 14 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,38 @@ The project differentiates between 3 levels of contributors:
# AI Usage Policy

> [!IMPORTANT]
> This project does **not** accept pull requests that are fully or predominantly AI-generated. AI tools may be utilized solely in an assistive capacity.
>
> Repeated violations of this policy may result in your account being permanently banned from contributing to the project.
> AI-generated code is allowed. You are 100% responsible for every line, however it was produced.
>
> Undisclosed AI usage may result in your account being permanently banned from contributing to the project.
>
> Detailed information regarding permissible and restricted uses of AI can be found in the [AGENTS.md](AGENTS.md) file.

Code that is initially generated by AI and subsequently edited will still be considered AI-generated. AI assistance is permissible only when the majority of the code is authored by a human contributor, with AI employed exclusively for corrections or to expand on verbose modifications that the contributor has already conceptualized (e.g., generating repeated lines with minor variations).

If AI is used to generate any portion of the code, contributors must adhere to the following requirements:

1. Explicitly disclose the manner in which AI was employed.
2. Perform a comprehensive manual review prior to submitting the pull request.
3. Be prepared to explain every line of code they submitted when asked about it by a maintainer.
4. It is strictly prohibited to use AI to write your posts for you (bug reports, feature requests, pull request descriptions, Github discussions, responding to humans, ...).
2. Check for an existing PR addressing the same change; if one exists, comment there to work with its author instead of opening a duplicate.
3. Perform a comprehensive manual review prior to submitting the pull request.
4. Be prepared to explain every line of code they submitted when asked about it by a maintainer.
5. It is strictly prohibited to use AI to write your posts for you (bug reports, feature requests, pull request descriptions, Github discussions, responding to humans, ...).

For more info, please refer to the [AGENTS.md](AGENTS.md) file.

# Pull requests (for contributors & collaborators)

Before submitting your PR:
- Search for existing PRs to prevent duplicating efforts
### Before you start

- Search for existing discussions and PRs first - duplicates will likely be closed without questions.
- Features must begin with an issue, not a PR - let interest accumulate before writing code; niche features may only land as an example/tool, or on a private fork.
- Bug-fix PRs must include a reproducible issue and a regression test that fails before your change and passes after. Fixes without a test may be closed without review.
- New CLI or public API additions carry a **higher bar** than internal changes - justify why an existing mechanism doesn't suffice.
- Meeting all of the above still doesn't guarantee a merge - see [Pull requests (for maintainers)](#pull-requests-for-maintainers).
- If you are a new contributor
- Limit your open PRs to 1
- Do not submit trivial fixes (e.g. typos, formatting changes)

### Preparing your PR

- llama.cpp uses the ggml tensor library for model evaluation. If you are unfamiliar with ggml, consider taking a look at the [examples in the ggml repository](https://github.com/ggml-org/ggml/tree/master/examples/). [simple](https://github.com/ggml-org/ggml/tree/master/examples/simple) shows the bare minimum for using ggml. [gpt-2](https://github.com/ggml-org/ggml/tree/master/examples/gpt-2) has minimal implementations for language model inference using GPT-2. [mnist](https://github.com/ggml-org/ggml/tree/master/examples/mnist) demonstrates how to train and evaluate a simple image classifier
- Test your changes:
- Execute [the full CI locally on your machine](ci/README.md) before publishing
Expand All @@ -38,19 +49,16 @@ Before submitting your PR:
- If you modified a `ggml` operator or added a new one, add the corresponding test cases to `test-backend-ops`
- Create separate PRs for each feature or fix:
- Avoid combining unrelated changes in a single PR
- For intricate features, consider opening a feature request first to discuss and align expectations
- When adding support for a new model or feature, focus on **CPU support only** in the initial PR unless you have a good reason not to. Add support for other backends like CUDA in follow-up PRs
- In particular, adding new data types (extension of the `ggml_type` enum) carries with it a disproportionate maintenance burden. As such, to add a new quantization type you will need to meet the following *additional* criteria *at minimum*:
- convert a small model to GGUF using the new type and upload it to HuggingFace
- provide [perplexity](https://github.com/ggml-org/llama.cpp/tree/master/tools/perplexity) comparisons to FP16/BF16 (whichever is the native precision) as well as to types of similar size
- provide KL divergence data calculated vs. the FP16/BF16 (whichever is the native precision) version for both the new type as well as types of similar size
- provide [performance data](https://github.com/ggml-org/llama.cpp/tree/master/tools/llama-bench) for the new type in comparison to types of similar size on pure CPU
- Consider allowing write access to your branch for faster reviews, as reviewers can push commits directly
- If you are a new contributor
- Limit your open PRs to 1
- Do not submit trivial fixes (e.g. typos, formatting changes)

After submitting your PR:
### After submitting your PR

- Expect requests for modifications to ensure the code meets llama.cpp's standards for quality and long-term maintainability
- Maintainers will rely on your insights and approval when making a final decision to approve and merge a PR
- If your PR becomes stale, rebase it on top of latest `master` to get maintainers attention
Expand All @@ -65,11 +73,13 @@ After submitting your PR:
- When merging a PR, make sure you have a good understanding of the changes
- If a PR does not warrant a new release, add `[no release]` in the squashed commit to spare CI resources
- Be mindful of maintenance: most of the work going into a feature happens after the PR is merged. If the PR author is not committed to contribute long-term, someone else needs to take responsibility (you)
- Add the ["merge ready"](https://github.com/ggml-org/llama.cpp/pulls?q=is%3Apr+is%3Aopen+draft%3Ano+sort%3Aupdated-desc+label%3A%22merge+ready%22+) label to a PR to indicate when a PR can be fast-merged without waiting for 2 independent reviews. [(more info)](https://github.com/ggml-org/llama.cpp/pull/26178)

Maintainers reserve the right to decline review or close pull requests for any reason, without any questions, particularly under any of the following conditions:
- The proposed change is already mentioned in the roadmap or an existing issue, and it has been assigned to someone.
- The pull request duplicates an existing one.
- The contributor fails to adhere to this contributing guide or the AI policy.
- The change doesn't fit the existing architecture, or is too complex to justify its benefit.

# Coding guidelines

Expand Down
8 changes: 8 additions & 0 deletions common/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,10 @@ add_library(${TARGET}
sampling.h
speculative.cpp
speculative.h
subproc.cpp
subproc.h
trie.cpp
trie.h
unicode.cpp
unicode.h
jinja/lexer.cpp
Expand All @@ -125,6 +129,10 @@ set_target_properties(${TARGET} PROPERTIES
target_include_directories(${TARGET} PUBLIC . ../vendor)
target_compile_features (${TARGET} PUBLIC cxx_std_17)

if (LLAMA_SUBPROCESS)
target_compile_definitions(${TARGET} PUBLIC LLAMA_SUBPROCESS)
endif()

if (BUILD_SHARED_LIBS)
set_target_properties(${TARGET} PROPERTIES POSITION_INDEPENDENT_CODE ON)

Expand Down
Loading
Loading