Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
336 commits
Select commit Hold shift + click to select a range
2767d99
feat: complete 4-bit C reference for turbo4 — quantize + dequant
TheTom Mar 28, 2026
900f708
fix: add turbo WHT rotation to ISWA build_attn — fixes Gemma 2
TheTom Mar 28, 2026
15ec5c5
feat: CUDA port of TurboQuant3 KV cache compression (RTX 5090 / SM 12.0)
signalnine Mar 26, 2026
9b6d5f8
perf: enable MMA/TILE flash attention for turbo3 — 0.97x q8_0 prefill
signalnine Mar 26, 2026
818129c
perf: parallel k_set_rows_turbo3 + optimise KQ/V dequant — +31% decod…
signalnine Mar 27, 2026
97dddac
fix: VEC flash-attn Q/K stride mismatch in vec_dot_fattn_vec_KQ_turbo3_0
signalnine Mar 27, 2026
c63c8cd
fix: graceful fallback for turbo3 with non-128-aligned head dims (iss…
signalnine Mar 28, 2026
f8828f9
fix: graceful fallback for turbo3 on non-128-aligned head dims (issue…
signalnine Mar 28, 2026
e9f05a9
feat: 64-element WHT groups + MLA Q rotation fix (issue #13)
signalnine Mar 28, 2026
39ad899
feat: mixed turbo3/q8_0 KV cache types (-ctk turbo3 -ctv q8_0 and vic…
signalnine Mar 28, 2026
f1f34a6
fix: implement CPU turbo3 quantize (was a stub that zeroed qs/signs)
signalnine Mar 28, 2026
8f49879
feat: GGML_TYPE_TURBO2_0 — 2-bit TurboQuant KV cache (6.4x compression)
signalnine Mar 28, 2026
53ca939
fix: MLA inverse WHT group_size derived from K (not V) — fixes GLM-4.7
signalnine Mar 28, 2026
fe15d61
feat: InnerQ per-channel equalization + turbo2 64-group fallback
signalnine Mar 28, 2026
46c23dd
perf: sparse V dequant — skip negligible attention weights in VEC kernel
signalnine Mar 28, 2026
f4e0911
fix: require head_dim % 128 for turbo KV — fall back to q8_0 otherwise
signalnine Mar 29, 2026
7a7f813
feat: Metal support for turbo2 (2-bit KV cache, 6.4x compression)
TheTom Mar 29, 2026
ae2a25a
feat: asymmetric K/V quant support for Metal flash attention
TheTom Mar 29, 2026
f2b3936
feat: asymmetric K/V support + q8_0 × turbo FA kernel instantiations
TheTom Mar 29, 2026
b7ea876
feat: zero-pad non-128 heads for full 7-stage WHT (replaces q8_0 fall…
signalnine Mar 29, 2026
ccef878
perf: CUDA MMA flash attention for D=640 (GLM-4.7 turbo3: 37→192 t/s)
signalnine Mar 29, 2026
e3a97d6
fix: add turbo3/turbo2 cross-type VEC FA instances (issue #25 bug 2)
signalnine Mar 29, 2026
773897f
feat: CUDA port of turbo4 (4-bit, 3.8x compression) — fixes issue #25…
signalnine Mar 29, 2026
46be64a
fix: turbo4 on GLM-4.7 — context init check accounts for zero-padding…
signalnine Mar 29, 2026
da4a02e
feat: Boundary V (experimental) — layer-aware V compression
TheTom Mar 29, 2026
d600014
fix: KV state serialization uses padded tensor width (issue #28 follo…
signalnine Mar 29, 2026
ca23404
feat: HIP/ROCm porting for TheTom's turbo3/turbo2 warp-cooperative ke…
Tuklus Mar 29, 2026
53180d9
Increase turbo3/turbo2 block size from 32 to 128
TheTom Mar 30, 2026
28f902f
fix: CUDA warp-to-block mapping for block_size=128 (turbo3, turbo2)
Mar 30, 2026
f62faa2
Enable Sparse V on all Metal, auto-enable Boundary V for turbo2-V
TheTom Mar 31, 2026
f236a7c
fix: add missing TurboQuant FA template instances for HIP/ROCm build
terrysimons Mar 31, 2026
0c436f2
Remove unused CENTROIDS_1BIT constant
TheTom Mar 31, 2026
74f2160
feat: TQ3_1S + TQ4_1S weight quantization with V2.1 fused Metal kernels
TheTom Apr 1, 2026
89949d3
fix: add post-unrotate memory barrier for in-layer mixing safety
TheTom Apr 2, 2026
209694b
fix: disable upstream attn rotation by default (conflicts with TurboQ…
TheTom Apr 2, 2026
e868127
feat: CUDA port of TQ4_1S/TQ3_1S weight dequant (signalnine)
TheTom Apr 2, 2026
86b7884
fix: TQ4_1S CUDA — mmvq exclusion for fused path + quantize tool regi…
signalnine Apr 2, 2026
708da07
perf: fused TQ4_1S/TQ3_1S mul_mat_vec — 3.4x decode speedup
signalnine Apr 2, 2026
f26ee2a
fix: TQ4_1S on MoE models — disable CUDA graphs for TQ MUL_MAT_ID
signalnine Apr 2, 2026
f87c78d
perf: V12 single-phase fused TQ mmvq — shmem activation, no global sc…
TheTom Apr 2, 2026
c49fb96
fix: Windows MSVC build compatibility for TQ weight types
TheTom Apr 2, 2026
3ae5a42
fix: AMD HIP/ROCm build support for TQ4_1S weight compression
TheTom Apr 2, 2026
716dd77
fix: add dk512 Metal FA kernel instances for turbo types (Gemma 4 sup…
TheTom Apr 2, 2026
21110eb
fix: CPU vec_dot heap allocation for turbo/TQ types (n > 4096 models)
TheTom Apr 2, 2026
a32f7c9
Fix turbo4 C reference WHT dequant mismatch (#43)
TheTom Apr 2, 2026
3b8a01a
feat: load-time TQ4_1S -> q8_0 conversion for CUDA dp4a speed
TheTom Apr 2, 2026
e9c54d5
fix: remove redundant extern from GGML_API macro (GCC 13.3 hard error)
TheTom Apr 3, 2026
bc05a68
Merge remote-tracking branch 'origin/master' into feature/turboquant-…
TheTom Apr 3, 2026
d006858
ggml-webgpu: move from parameter buffer pool to single buffer with of…
reeselevine Apr 3, 2026
b7ad48e
llama: add custom newline split for Gemma 4 (#21406)
am17an Apr 4, 2026
650bf14
llama-model: read final_logit_softcapping for Gemma 4 (#21390)
ssam18 Apr 4, 2026
d01f627
common : respect specified tag, only fallback when tag is empty (#21413)
angt Apr 4, 2026
9c69907
server: Fix undefined timing measurement errors in server context (#2…
thedanhoffman Apr 4, 2026
ab9990d
Enhance Metal operations for TQ weights and concurrency handling for …
iamwavecut Apr 4, 2026
883bf4a
Update GGMLQuantizationType and LlamaFileType enums to include TQ3_1S…
iamwavecut Apr 4, 2026
b863507
common : add gemma 4 specialized parser (#21418)
aldehir Apr 4, 2026
661e9ac
ci: fix vulkan workflow referencing non-existent action (#21442)
nisparks Apr 5, 2026
c08d28d
ci: lower cuda12 floor to 12.8.1 for broader host compatibility (#21438)
M1DNYT3 Apr 5, 2026
5d3a4a7
server : fix logging of build + system info (#21460)
ddh0 Apr 5, 2026
761797f
ci : use default RISE RISC-V Runners (#21263)
luhenry Apr 5, 2026
af76639
model : add HunyuanOCR support (#21395)
richarddd Apr 5, 2026
58190cc
llama : correct platform-independent loading of BOOL metadata (#21428)
anchortense Apr 5, 2026
25eec6f
hexagon: slight optimization for argosrt output init (#21463)
YardenTal44 Apr 6, 2026
f51fd36
sycl : handle other FA case (#21377)
arthw Apr 6, 2026
400ac8e
convert : set "add bos" == True for Gemma 4 (#21500)
ggerganov Apr 6, 2026
3979f2b
docs: add hunyuan-ocr gguf, also add test [no ci] (#21490)
ngxson Apr 6, 2026
482d862
server : handle unsuccessful sink.write in chunked stream provider (#…
lainon1 Apr 6, 2026
941146b
convert : fix block_ff_dim retrieval for lfm2 (#21508)
CISC Apr 6, 2026
4aa962e
vocab : add byte token handling to BPE detokenizer for Gemma4 (#21488)
aldehir Apr 6, 2026
94ca829
llama-bench: add `-fitc` and `-fitt` to arguments (#21304)
am17an Apr 6, 2026
cd8f9fc
perf: TQ4_1S native kernel 3.5× faster — 240 t/s (was 68), smaller VR…
signalnine Apr 6, 2026
67cb511
perf: warp-cooperative TQ4_1S dequant (16× less compute per block)
signalnine Apr 6, 2026
15f786e
[CUDA ] Write an optimized flash_attn_stream_k_fixup kernel (#21159)
gaugarg-nv Apr 6, 2026
506200c
cli: fix stripping of \n in multiline input (#21485)
bipinyadav3175 Apr 6, 2026
2e1f0a8
ggml: add Q1_0 1-bit quantization support (CPU) (#21273)
khosravipasha Apr 6, 2026
d0a6dfe
ggml-webgpu: Add the support of `MUL_MAT_ID` (#21147)
yomaytk Apr 6, 2026
94763cf
feat: multi-token TQ4_1S dp4a kernel + multi-GPU fix + static build fix
signalnine Apr 6, 2026
097d765
fix: replace __dp4a with ggml_cuda_dp4a for HIP/ROCm compatibility
signalnine Apr 6, 2026
7433ad9
Merge pull request #52 from iamwavecut/feature/turboquant-kv-cache
TheTom Apr 6, 2026
dcf8430
fix: GCC double extern in ops.cpp turbo3_cpu_wht_group_size
TheTom Apr 5, 2026
acad28d
feat: add MoE expert count kernel instantiations + TQ4_1S backend tests
TheTom Apr 6, 2026
830eb54
fix: cap map0 kernel shmem for 256-expert MoE models
TheTom Apr 7, 2026
0033f53
docs: fix typo in build.md (emdawbwebgpu -> emdawnwebgpu) (#21518)
CastelDazur Apr 7, 2026
0988acc
[SYCL] Add Q8_0 reorder optimization (~3x tg speedup on Intel Arc) (#…
PMZFX Apr 7, 2026
d1f82e3
Fix rtl text rendering (#21382)
Kabir08 Apr 7, 2026
ecce008
fix: Detect streaming state in reasoning content blocks (#21549)
allozaur Apr 7, 2026
71a81f6
ggml-cuda : fix CDNA2 compute capability constant for gfx90a (MI210) …
aviallon Apr 7, 2026
482192f
webui : store reasoning_content so it is sent back in subsequent requ…
aldehir Apr 7, 2026
edd4d9b
vulkan: add FA dequant for q4_1, q5_0, q5_1, iq4_nl (#21029)
mkoker Apr 7, 2026
2a619f6
ggml: Vulkan build, Linux -- output error string for errno on fork fa…
tomoverlund Apr 7, 2026
22fc791
ggml : deprecate GGML_OP_ADD1 (#21363)
ggerganov Apr 7, 2026
e8f5082
server : fix restore for checkpoints with pos_min == 0 (#21510)
ggerganov Apr 7, 2026
a8ec0df
llama: remove per-arch tensor name lists (#21531)
JohannesGaessler Apr 7, 2026
0d049d6
unicode : add custom Qwen2 regex handler to fix segfault on long inpu…
nhs000 Apr 7, 2026
69c28f1
llama-server: fix model params not propagated (#21509)
taronaeo Apr 7, 2026
6862209
fix: AMD/RDNA4 arch dispatch — scalar half path for TQ4_1S on AMD GPUs
TheTom Apr 7, 2026
bf395f1
docs: add AMD Instinct MI300X (gfx942) ROCm test results
andyluo7 Apr 7, 2026
e88018d
feat: add CDNA4 (gfx950/MI355X) support + test results
andyluo7 Apr 7, 2026
de1aa6f
CUDA: check for buffer overlap before fusing (#21566)
am17an Apr 7, 2026
957d717
ggml-webgpu: parameterize submission size and add iOS specific limits…
reeselevine Apr 7, 2026
4eb1951
kv-cache : support attention rotation for heterogeneous iSWA (#21513)
ggerganov Apr 7, 2026
93bdc61
gguf-py : fix missing comma after bad merge in tensor-mapping (#21558)
danbev Apr 7, 2026
66c4f9d
ggml-cuda: ds_read_b128 for q4_0 and q4_1 mmq kernels (#21168)
iacopPBK Apr 7, 2026
a4e8af4
perf: TQ4_1S native kernel 3.5× faster + AMD arch dispatch (#57)
TheTom Apr 7, 2026
c5ce4bc
CUDA: make cuda graphs props check faster (#21472)
am17an Apr 8, 2026
c2a70f3
feat: Vulkan compute shader support for turbo3 KV cache
Tuklus Mar 30, 2026
eea498c
Merge pull request #33 from apollosenvy/pr/vulkan-turbo3
TheTom Apr 8, 2026
5c4aae6
devops: kleidiai: provide KleidiAI-Enabled ARM Release Artifact (#21259)
martin-klacer-arm Apr 8, 2026
97508ac
webui: fix syntax highlighting lost after streaming for non-common la…
hmblair Apr 8, 2026
09343c0
model : support step3-vl-10b (#21287)
forforever73 Apr 8, 2026
ece522f
chore: Remove legacy files (#21606)
allozaur Apr 8, 2026
3bd9aa1
chore: Update labeler to have separate labels for `server/webui` and …
allozaur Apr 8, 2026
ae65fbd
tests : remove obsolete .mjs script (#21615)
ggerganov Apr 8, 2026
85d482e
parser: fix MiniMax handling (#21573)
pwilkin Apr 8, 2026
87f4744
examples : disable cb_eval callback for --save-logits (#21553)
danbev Apr 8, 2026
5764d7c
gemma : perform per-layer projections in the first layer (#21612)
ggerganov Apr 8, 2026
dcdcbad
metal: Q1_0 backend (#21528)
khosravipasha Apr 8, 2026
5473949
webgpu : Query for adapter support when registering WebGPU backend (#…
reeselevine Apr 8, 2026
3ba12fe
kv-cache : extend cache quantization checks (#21586)
Green-Sky Apr 8, 2026
e9fd962
Propose fix a couple of typos (#21581)
jeis4wpi Apr 8, 2026
4a05e0c
webui : send both backend_sampling == false/true (#18781)
ggerganov Apr 8, 2026
d9a12c8
vocab : remove </s> eog token if gemma4 (#21492)
aldehir Apr 8, 2026
6606000
server: respect the ignore eos flag (#21203)
ykhrustalev Apr 8, 2026
2dcb7f7
fix: free ctx_copy in ggml_opt_free to plug per-training-session leak…
RealOrko Apr 8, 2026
d12cc3d
CUDA: also store `node->src->data` ptrs for equality check (#21635)
am17an Apr 8, 2026
0d6b38a
metal: add TurboFlash attention kernel for turbo3 KV cache decode
TheTom Apr 8, 2026
4293919
common : skip non-primary GGUF split files when selecting model (#21633)
angt Apr 9, 2026
8a132fa
vulkan: unify type macros to use Vx instead of _VECx (#21605)
0cc4m Apr 9, 2026
8a65a7a
ci: drop v5 `all:` composition from labeler.yml (#21627)
Marxist-Leninist Apr 9, 2026
b54cb2e
sycl : add flash-attn support for head size 512 (#21654)
qnixsynapse Apr 9, 2026
75511a8
webui: Add option to pre-encode conversation for faster next turns (#…
allozaur Apr 9, 2026
3ee9da0
server : fix grammar commandline args (#21543)
AUTOMATIC1111 Apr 9, 2026
9949ad0
fix: Model Selector choice sync (#21628)
allozaur Apr 9, 2026
5e9c635
metal : add missing mm-id specializations for q1_0 (#21662)
ggerganov Apr 9, 2026
243532e
jinja : support ensure_ascii=true, string repetition and int/float se…
kwajiehao Apr 9, 2026
0ec191e
vocab: add gemma4 tokenizer tests, fix edge case (#21534)
pwilkin Apr 9, 2026
501aeed
mtmd: support dots.ocr (#17575)
ngxson Apr 9, 2026
057dba3
model: fix multimodal padding token for gemma3n/gemma4 (#21625)
ngxson Apr 9, 2026
2622975
common : simplify autoparser tagged parser rules (#21216)
aldehir Apr 9, 2026
ddf03c6
common : fix ambiguous grammar rule in gemma4 (#21661)
aldehir Apr 9, 2026
4ef9301
webui: add "Send message on Enter" setting (#21577)
mourix Apr 9, 2026
c8ac02f
requirements : update transformers to 5.5.1 (#21617)
danbev Apr 9, 2026
009a113
ggml : check return value of CUB calls used in argsort and top-k (the…
fairydreaming Apr 9, 2026
157cb85
Merge pull request #61 from andyluo7/add-rocm-mi300x-support
TheTom Apr 9, 2026
d6f3030
ggml: backend-agnostic tensor parallelism (experimental) (#19378)
JohannesGaessler Apr 9, 2026
1ebda4c
vulkan: fix and complete turbo3 KV cache support
Titaniumtown Apr 9, 2026
6a29b58
vulkan: add turbo3 backend tests
Titaniumtown Apr 9, 2026
8590cbf
Merge pull request #62 from Titaniumtown/pr/turboquant-vulkan-work
TheTom Apr 9, 2026
d132f22
HIP: add CDNA4 (gfx950) architecture support for MI350X/MI355X (#21570)
andyluo7 Apr 9, 2026
e34f042
CUDA: fuse muls (#21665)
am17an Apr 10, 2026
e095a48
common : add fluidity to the progress bar (#21671)
angt Apr 10, 2026
7b69125
vulkan: Support Q1_0 (#21539)
jeffbolznv Apr 10, 2026
3f8752b
docs : fix broken link to ggml-openvino in OPENVINO.md (#21709)
ibelem Apr 10, 2026
d7ff074
common : enable reasoning budget sampler for gemma4 (#21697)
berkidem Apr 10, 2026
f989a6e
webui: Static build output improvements (#21667)
allozaur Apr 10, 2026
0893f50
common: mark --split-mode tensor as experimental (#21684)
JohannesGaessler Apr 10, 2026
fb38d6f
common : fix when loading a cached HF models with unavailable API (#2…
angt Apr 10, 2026
5dd1025
server : ignore --alias when using --models-preset (#21380)
angt Apr 10, 2026
e4fed9d
ggml-webgpu: address quantization precision and backend lifecycle man…
Constannnnnt Apr 10, 2026
bfd1f45
ggml-webgpu: support non-square subgroup matrix configs for Intel GPU…
SharmaRithik Apr 10, 2026
e62fa13
model : make Gemma 4 shared-KV tail attn_k tensors optional on load (…
MoonRide303 Apr 10, 2026
05b3caa
common : add callback interface for download progress (#21735)
angt Apr 10, 2026
3fc6506
common : better align to the updated official gemma4 template (#21704)
aldehir Apr 10, 2026
9aa2807
hexagon: improved Op queuing, buffer and cache management (#21705)
max-krasnyansky Apr 10, 2026
81069a8
hexagon: add support for linux on snapdragon (#21707)
tboinovski1 Apr 10, 2026
b136b62
fix: Fix broken structured output when using $refs in json_schema (#2…
Galunid Apr 10, 2026
a29e4c0
CUDA: also store node->src ne/nb for graph equality (#21736)
am17an Apr 11, 2026
660386f
py : Bump typer to latest to fix huggingface_hub issue (#21701)
bartowski1182 Apr 11, 2026
2b2cd57
ggml : fix a few instances of missing GGML_TYPE_Q1_0 cases (#21716)
CISC Apr 11, 2026
865ff06
TP: fix Qwen 3 Next data split (#21732)
JohannesGaessler Apr 11, 2026
af1127d
opencl: add basic support for q5_k (#21593)
shaofeiqi Apr 11, 2026
073bb2c
mtmd : add MERaLiON-2 multimodal audio support (#21756)
Apr 11, 2026
ff5ef82
CUDA: skip compilation of superfluous FA kernels (#21768)
JohannesGaessler Apr 11, 2026
6313acb
docs: add guide on how to add multimodal support (#21778)
ngxson Apr 12, 2026
9e209c5
fix: Proper messages rendering for "Show raw output" (#21672)
allozaur Apr 12, 2026
547765a
mtmd: add Gemma 4 audio conformer encoder support (#21421)
stephencox-ict Apr 12, 2026
aa4695c
mtmd: add gemma 4 test (vision + audio) [no ci] (#21806)
ngxson Apr 12, 2026
4fa9c4c
Merge upstream ggml-org/llama.cpp master into feature/turboquant-kv-c…
richginsberg Apr 12, 2026
1e9d771
convert : force f16 or f32 on step3-vl conv weights (#21646)
CISC Apr 12, 2026
21a4933
mtmd: qwen3 audio support (qwen3-omni and qwen3-asr) (#19441)
ngxson Apr 12, 2026
82764d8
mtmd: fix crash when sending image under 2x2 pixels (#21711)
mzsergiu Apr 12, 2026
873c825
sycl: disable Q1_0 in backend and cleanup unused variables (#21807)
qnixsynapse Apr 13, 2026
bafae27
Remove extra conditional check on debug mode. (#21798)
yomaytk Apr 13, 2026
227ed28
webui: MCP Diagnostics improvements (#21803)
allozaur Apr 13, 2026
974c8c9
webui: add setting for first-line chat titles (#21797)
crodjer Apr 13, 2026
920b3e7
mtmd: use causal attn for gemma 4 audio (#21824)
ngxson Apr 13, 2026
9f5e1ed
CUDA: Limit DeviceSegmentedSort to immediate mode (#21718)
ORippler Apr 13, 2026
ce8fd4b
server: Expose build_info in router mode (#21835)
gaspardpetit Apr 13, 2026
aa00911
common : add download cancellation and temp file cleanup (#21813)
angt Apr 13, 2026
75f3bc9
vulkan: Flash Attention DP4A shader for quantized KV cache (#20797)
0cc4m Apr 13, 2026
a8bad38
ci: Also exempt 'security' tag from auto-close (#21844)
ckastner Apr 13, 2026
1c0d908
chat: dedicated DeepSeek v3.2 parser + "official" template (#21785)
pwilkin Apr 13, 2026
e974923
docs: listing qwen3-asr and qwen3-omni as supported (#21857)
ngxson Apr 13, 2026
e21cdc1
common/gemma4 : handle parsing edge cases (#21760)
aldehir Apr 13, 2026
e489a5c
server: support OAI /v1/audio/transcriptions API (#21863)
ngxson Apr 14, 2026
6a6780a
vulkan: Support GGML_TYPE_NVFP4 (#21455)
jeffbolznv Apr 14, 2026
56666fa
common: skip reasoning budget sampler when no budget is requested (#2…
berkidem Apr 14, 2026
5a23695
ggml-webgpu: Update register tiling matmul to use f32 accumulation (#…
reeselevine Apr 14, 2026
acc37a4
cmake: fix CMP0194 warning on Windows with MSVC (#21630)
texasich Apr 14, 2026
2e05f06
ggml : fix ARM NEON nvfp4 dot product on non-dotprod targets (#21559)
richarddd Apr 14, 2026
be76dd0
vendor : update BoringSSL to 0.20260413.0 (#21881)
angt Apr 14, 2026
aa0f189
metal : add XIELU unary op (#20802)
seyoungjeong Apr 14, 2026
f4b5bf2
ci : re-enable mac workflows (#21894)
ggerganov Apr 14, 2026
1f30ac0
vulkan: Programmatically add RoundingModeRTE to all shaders when the …
jeffbolznv Apr 14, 2026
707c0b7
mtmd: add mtmd_image_tokens_get_decoder_pos() API (#21851)
ngxson Apr 14, 2026
c0de6ed
metal : fix FA support logic (#21898)
ggerganov Apr 14, 2026
fae3a28
ggml : remove ggml-ext.h (#21869)
ngxson Apr 14, 2026
5d14e5d
hexagon: optimization for HMX mat_mul (#21554)
njsyw1997 Apr 14, 2026
e39eba2
read n_ctx back after making llama_context (#21939)
smashedpumpkin Apr 15, 2026
e1a9a6d
autoparser: support case of JSON_NATIVE with per-call markers (test c…
pwilkin Apr 15, 2026
8dc530b
ci: disable test-backend-ops on Vulkan llvmpipe run and resture defau…
0cc4m Apr 15, 2026
80d8770
docs: more extensive RoPE documentation [no ci] (#21953)
ngxson Apr 15, 2026
adb541a
rpc : add native RDMA transport for RPC backend (RoCEv2) (#20590)
dvv101111 Apr 15, 2026
014dca4
CUDA: manage NCCL communicators in context (#21891)
JohannesGaessler Apr 15, 2026
a620695
CUDA: require explicit opt-in for P2P access (#21910)
JohannesGaessler Apr 15, 2026
20d3bc2
ggml-webgpu: Fix dequantization helpers to not pass in pointers (#21872)
reeselevine Apr 15, 2026
7e72b38
cuda: Q1_0 initial backend (#21629)
khosravipasha Apr 15, 2026
b3d7587
vulkan: optimize im2col (#21713)
0cc4m Apr 15, 2026
408225b
server: use random media marker (#21962)
ngxson Apr 15, 2026
b1be68e
[SYCL] Fix Q8_0 reorder: garbage on 2nd prompt + crash on full VRAM (…
PMZFX Apr 16, 2026
8612ed1
ci : Use ggml-org/ccache-action on RISC-V as well (#21632)
luhenry Apr 16, 2026
82677a6
ggml-webgpu: compute pass batching and removing profiling overhead (#…
reeselevine Apr 16, 2026
90fb96a
devops : added spirv-headers to nix (#21965)
yuannan Apr 16, 2026
5637536
ggml : implemented simd_gemm kernel for riscv vector extension (#20627)
rehan-10xengineer Apr 16, 2026
1e796eb
ggml-cpu: add 128-bit RVV implementation for Quantization Vector Dot …
rehan-10xengineer Apr 16, 2026
ae2d348
metal: Implement ROLL op (#21946)
kushagharahi Apr 16, 2026
3f7c29d
ggml: add graph_reused (#21764)
am17an Apr 16, 2026
03b3d07
Convert: Fix NemotronH Config Parsing (#21664)
anavp-nvidia Apr 16, 2026
b572d1e
codeowners: add team member comments (#21714)
0cc4m Apr 16, 2026
f772f6e
model : support NVFP4 tensors for Gemma4 (#21971)
CISC Apr 16, 2026
9db77a0
model : refactor QKV into common build_qkv and create_tensor_qkv help…
JoursBleu Apr 16, 2026
4adac43
server: tests: fetch random media marker via /apply-template (#21962)…
ServeurpersoCom Apr 16, 2026
e45dbde
opencl: add q5_K gemm and gemv kernels for Adreno (#21595)
shaofeiqi Apr 16, 2026
4fbdabd
model: using single llm_build per arch (#21970)
ngxson Apr 16, 2026
85dde8d
hexagon: optimize HMX matmul operations (#21071)
chraac Apr 16, 2026
089dd41
cmake: use glob to collect src/models sources (#22005)
ngxson Apr 16, 2026
30dce2c
cli : use get_media_marker (#22017)
CISC Apr 16, 2026
5e6c0e1
opencl: refactor q8_0 set_tensor and mul_mat host side dispatch for A…
lhez Apr 17, 2026
fcc7508
model : Gemma4 model type detection (#22027)
EZForever Apr 17, 2026
6990e2f
libs : rename libcommon -> libllama-common (#21936)
ggerganov Apr 17, 2026
268d61e
mtmd: add missing struct tag (#22023)
65a Apr 17, 2026
a279d0f
ci : add android arm64 build and release (#21647)
ykhrustalev Apr 17, 2026
b94050e
CUDA: use LRU based eviction for cuda graphs (#21611)
am17an Apr 17, 2026
45cac7c
ggml-webgpu: fix compiler warnings and refactor FlashAttention encodi…
reeselevine Apr 17, 2026
fd1c0ec
llama: fit ctx size for CPU only (#21568)
JohannesGaessler Apr 18, 2026
89a5474
convert : fix (ignore for now) typings errors (#22002)
CISC Apr 18, 2026
83d58e0
ci : free disk space for rocm release (#22012)
CISC Apr 18, 2026
59accc8
ggml-backend-meta: add multi-segment read support in get_tensor (#22063)
ssam18 Apr 18, 2026
23b8cc4
android : libcommon -> libllama-common (#22076)
CISC Apr 18, 2026
eccc6c8
Merge remote-tracking branch 'upstream/master' into feature/turboquan…
richginsberg Apr 18, 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
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .devops/nix/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
vulkan-loader,
openssl,
shaderc,
spirv-headers,
useBlas ?
builtins.all (x: !x) [
useCuda
Expand Down Expand Up @@ -145,6 +146,7 @@ effectiveStdenv.mkDerivation (finalAttrs: {
ninja
pkg-config
git
spirv-headers
]
++ optionals useCuda [
cudaPackages.cuda_nvcc
Expand Down
2 changes: 1 addition & 1 deletion .devops/vulkan.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ RUN apt update && apt install -y git build-essential cmake wget xz-utils

# Install SSL and Vulkan SDK dependencies
RUN apt install -y libssl-dev curl \
libxcb-xinput0 libxcb-xinerama0 libxcb-cursor-dev libvulkan-dev glslc
libxcb-xinput0 libxcb-xinerama0 libxcb-cursor-dev libvulkan-dev glslc spirv-headers

# Build it
WORKDIR /app
Expand Down
8 changes: 8 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,18 @@ android:
- changed-files:
- any-glob-to-any-file:
- examples/llama.android/**
server/webui:
- changed-files:
- any-glob-to-any-file:
- tools/server/webui/**
- tools/server/public/**
server:
- changed-files:
- any-glob-to-any-file:
- tools/server/**



ggml:
- changed-files:
- any-glob-to-any-file:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
distribution: zulu

- name: Setup Android SDK
uses: android-actions/setup-android@9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407 # v3
uses: android-actions/setup-android@40fd30fb8d7440372e1316f5d1809ec01dcd3699 # v4.0.1
with:
log-accepted-android-sdk-licenses: false

Expand Down
36 changes: 7 additions & 29 deletions .github/workflows/build-riscv.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ env:

jobs:
ubuntu-riscv64-native-sanitizer:
runs-on: RISCV64
runs-on: ubuntu-24.04-riscv

continue-on-error: true

Expand All @@ -47,20 +47,9 @@ jobs:
steps:
- name: Install dependencies
run: |
sudo apt-get update

# Install necessary packages
sudo apt-get install -y libatomic1 libtsan2 gcc-14 g++-14 rustup cmake build-essential wget ccache git-lfs

# Set gcc-14 and g++-14 as the default compilers
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100
sudo ln -sf /usr/bin/gcc-14 /usr/bin/gcc
sudo ln -sf /usr/bin/g++-14 /usr/bin/g++

# Install Rust stable version
rustup install stable
rustup default stable

git lfs install

Expand All @@ -73,23 +62,12 @@ jobs:
id: checkout
uses: actions/checkout@v6

- name: Setup ccache
run: |
# Unique cache directory per matrix combination
export CCACHE_DIR="$HOME/.ccache/sanitizer-${{ matrix.sanitizer }}-${{ matrix.build_type }}"
mkdir -p "$CCACHE_DIR"

# Configure ccache
ccache --set-config=max_size=5G
ccache --set-config=compression=true
ccache --set-config=compression_level=6
ccache --set-config=cache_dir="$CCACHE_DIR"
ccache --set-config=sloppiness=file_macro,time_macros,include_file_mtime,include_file_ctime
ccache --set-config=hash_dir=false

# Export for subsequent steps
echo "CCACHE_DIR=$CCACHE_DIR" >> $GITHUB_ENV
echo "PATH=/usr/lib/ccache:$PATH" >> $GITHUB_ENV
- name: ccache
uses: ggml-org/ccache-action@afde29e5b5422e5da23cb1f639e8baecadeadfc3 # https://github.com/ggml-org/ccache-action/pull/1
with:
key: ubuntu-riscv64-native-sanitizer-${{ matrix.sanitizer }}-${{ matrix.build_type }}
evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}

- name: Build
id: cmake_build
Expand Down
138 changes: 83 additions & 55 deletions .github/workflows/build-self-hosted.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,36 @@ jobs:
vulkaninfo --summary
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp

# TODO: investigate slight precision issues in some operations for test-backend-ops on the WebGPU backend.
#ggml-ci-nvidia-webgpu:
# runs-on: [self-hosted, Linux, NVIDIA]

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

# - name: Dawn Dependency
# id: dawn-depends
# run: |
# DAWN_VERSION="v20260317.182325"
# DAWN_OWNER="google"
# DAWN_REPO="dawn"
# DAWN_ASSET_NAME="Dawn-18eb229ef5f707c1464cc581252e7603c73a3ef0-ubuntu-latest-Release"
# echo "Fetching release asset from https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
# curl -L -o artifact.tar.gz \
# "https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
# mkdir dawn
# tar -xvf artifact.tar.gz -C dawn --strip-components=1

# - name: Test
# id: ggml-ci
# run: |
# GG_BUILD_WEBGPU=1 \
# GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
# GG_BUILD_WEBGPU_DAWN_DIR="$GITHUB_WORKSPACE/dawn/lib64/cmake/Dawn" \
# bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp

# TODO: provision AMX-compatible machine
#ggml-ci-cpu-amx:
# runs-on: [self-hosted, Linux, CPU, AMX]
Expand Down Expand Up @@ -141,61 +171,59 @@ jobs:
# amd-smi static
# GG_BUILD_ROCM=1 GG_BUILD_AMDGPU_TARGETS="gfx1101" bash ./ci/run.sh ~/results/llama.cpp /mnt/llama.cpp

# TODO: sandbox Mac runners
# ggml-ci-mac-metal:
# runs-on: [self-hosted, macOS, ARM64]
#
# steps:
# - name: Clone
# id: checkout
# uses: actions/checkout@v6
#
# - name: Test
# id: ggml-ci
# run: |
# GG_BUILD_METAL=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
#
# ggml-ci-mac-webgpu:
# runs-on: [self-hosted, macOS, ARM64]
#
# steps:
# - name: Clone
# id: checkout
# uses: actions/checkout@v6
#
# - name: Dawn Dependency
# id: dawn-depends
# run: |
# DAWN_VERSION="v2.0.0"
# DAWN_OWNER="reeselevine"
# DAWN_REPO="dawn"
# DAWN_ASSET_NAME="Dawn-5e9a4865b1635796ccc77dd30057f2b4002a1355-macos-latest-Release"
# echo "Fetching release asset from https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.zip"
# curl -L -o artifact.zip \
# "https://github.com/${DAWN_OWNER}/${DAWN_REPO}/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.zip"
# mkdir dawn
# unzip artifact.zip
# tar -xvf ${DAWN_ASSET_NAME}.tar.gz -C dawn --strip-components=1
#
# - name: Test
# id: ggml-ci
# run: |
# GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
# bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
#
# ggml-ci-mac-vulkan:
# runs-on: [self-hosted, macOS, ARM64]
#
# steps:
# - name: Clone
# id: checkout
# uses: actions/checkout@v6
#
# - name: Test
# id: ggml-ci
# run: |
# vulkaninfo --summary
# GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp
ggml-ci-mac-metal:
runs-on: [self-hosted, macOS, ARM64]

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

- name: Test
id: ggml-ci
run: |
GG_BUILD_METAL=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp

ggml-ci-mac-webgpu:
runs-on: [self-hosted, macOS, ARM64]

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

- name: Dawn Dependency
id: dawn-depends
run: |
DAWN_VERSION="v20260317.182325"
DAWN_OWNER="google"
DAWN_REPO="dawn"
DAWN_ASSET_NAME="Dawn-18eb229ef5f707c1464cc581252e7603c73a3ef0-macos-latest-Release"
echo "Fetching release asset from https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
curl -L -o artifact.tar.gz \
"https://github.com/google/dawn/releases/download/${DAWN_VERSION}/${DAWN_ASSET_NAME}.tar.gz"
mkdir dawn
tar -xvf artifact.tar.gz -C dawn --strip-components=1

- name: Test
id: ggml-ci
run: |
GG_BUILD_WEBGPU=1 GG_BUILD_WEBGPU_DAWN_PREFIX="$GITHUB_WORKSPACE/dawn" \
bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp

ggml-ci-mac-vulkan:
runs-on: [self-hosted, macOS, ARM64]

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

- name: Test
id: ggml-ci
run: |
vulkaninfo --summary
GG_BUILD_VULKAN=1 bash ./ci/run.sh ~/results/llama.cpp ~/mnt/llama.cpp

ggml-ci-linux-intel-vulkan:
runs-on: [self-hosted, Linux, Intel]
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/build-vulkan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ jobs:

- name: Setup Vulkan SDK
if: steps.cache-sdk.outputs.cache-hit != 'true'
uses: ./.github/actions/linux-setup-vulkan-llvmpipe
uses: ./.github/actions/linux-setup-vulkan
with:
path: ./vulkan_sdk
version: ${{ env.VULKAN_SDK_VERSION }}
Expand All @@ -93,4 +93,5 @@ jobs:
export GGML_VK_DISABLE_F16=1
export GGML_VK_DISABLE_COOPMAT=1
# This is using llvmpipe and runs slower than other backends
ctest -L main --verbose --timeout 4800
# test-backend-ops is too slow on llvmpipe, skip it
ctest -L main -E test-backend-ops --verbose --timeout 900
Loading