Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
330 commits
Select commit Hold shift + click to select a range
35a99ad
Vulkan: add support for fp32 OUT_PROD op
Aug 1, 2025
1e341c4
metal: port OUT_PROD, SILU_BACK, SOFT_MAX_BACK, RMS_NORM_BACK ops to …
zoq Feb 18, 2026
6f46593
Initialize sin_sign in rope kargs to fix broken positional encoding.
zoq Feb 24, 2026
7514ba0
Fix Windows build by using path::string() for wchar_t conversion
zoq Feb 24, 2026
6682036
Fix format specifiers for int64_t portability.
zoq Feb 24, 2026
128f559
Add missing resume_from_batch arg to llama_opt_epoch call.
zoq Feb 24, 2026
0849243
Fix TQ2_0 dequantization.
zoq Feb 25, 2026
2e927fa
Fix slow ReBAR reads on discrete GPUs and relax contiguity checks for…
zoq Feb 27, 2026
c3ee82d
Use VMA random-access host alloc, skip n_ctx padding and host-buft ov…
zoq Feb 27, 2026
0e097f3
Fix loss calculation and TQ2_0 dequantization.
zoq Mar 3, 2026
427a62e
ggml-vulkan: workaround for Adreno MUL_MAT Q6_K
Mar 3, 2026
607359d
ggml-vulkan: workaround for Adreno MUL_MAT TQ1
Mar 3, 2026
3ed54bc
vulkan: ensure host coherent memory on UMA devices
makaveli10 Mar 3, 2026
3932bc1
ggml-vulkan: fix GGML_VULKAN_CHECK_RESULTS
Mar 3, 2026
1afb00b
ggml-vulkan: skip CROSS_ENTROPY_LOSS_MASKED for check_results
Mar 4, 2026
41b59ef
ggml-vulkan: skip COUNT_EQUAL_MASKED for check_results
Mar 4, 2026
14cf6b3
ggml-vulkan: improve OUT_PROD Q4 performance
Mar 4, 2026
1d1aa9a
Fix LLAMA_LORA_TARGET_ALL bitmask
makaveli10 Mar 5, 2026
7da244e
Preserve C API compatibility for llama_opt_epoch
makaveli10 Mar 5, 2026
5058667
lora: enhance LoRA init safety and simplify caller
makaveli10 Mar 5, 2026
9c6d526
training: add llama_opt_default_params and use it in examples
makaveli10 Mar 5, 2026
69dc5d4
training: add reproducible seed, improve safety and style in LoRA tra…
makaveli10 Mar 5, 2026
2c78a80
training: refactor LoRA tensor init to use exceptions
makaveli10 Mar 6, 2026
e58e8ad
ggml-opt: refactor batch memory copying to use lambda
makaveli10 Mar 6, 2026
fadba87
fix: typo in ggml.c & README
makaveli10 Mar 6, 2026
060f814
training: document masking constraints and fix metadata extension
makaveli10 Mar 6, 2026
21f6d03
tests: add ops tests for cross_entropy_loss_masked
makaveli10 Mar 6, 2026
a0d4334
Add bounds check for --chat-template argument parsing & remove stray …
makaveli10 Mar 6, 2026
2034b25
training: add TODO for refactoring CLI argument parsing
makaveli10 Mar 6, 2026
5193c41
training: add a comment about dropout not being used yet
makaveli10 Mar 6, 2026
e888078
training: add static_assert to catch llama_layer padding issues
makaveli10 Mar 6, 2026
2f813b0
graph: restore ggml_view_4d for non-contiguous Q tensor support
makaveli10 Mar 6, 2026
fc204c2
ggml-vulkan: Add buffer sync to cross_entropy_loss_masked_back op
afrantzis Mar 6, 2026
c4241f6
ggml-vulkan: add support for tiling as a workaround for memory issues
Mar 4, 2026
262badc
ggml: Wrap tensor and make it contiguous.
zoq Mar 6, 2026
cd3697b
Add comment on graph_max_nodes bump for LoRA finetuning.
zoq Mar 6, 2026
b32d86b
fix: resume_from_batch=0 incorrectly treated as no-resume in opt_epoch
gianni-cor Mar 7, 2026
ebe4476
Fix memory leak in optimizer state loading.
zoq Mar 7, 2026
38458fc
Disable command-buffer concurrency by default on iOS.
zoq Mar 8, 2026
5f83801
Override and default to n_cb=2 on iOS.
zoq Mar 8, 2026
5f0e89f
fix: restore context state for inference after training cleanup
gianni-cor Mar 9, 2026
af81d29
Add @autoreleasepool to encode_async block to prevent ObjC object acc…
zoq Mar 9, 2026
079abee
fix: keep output tensor on CPU for iOS to avoid Metal buffer limits
gianni-cor Mar 10, 2026
cdef3e9
Remove unused variable 'tensor_name'.
zoq Mar 10, 2026
ffdb345
training: fix LLAMA_LORA_TARGET_ALL for ISO C compliance
makaveli10 Mar 10, 2026
b6301f3
ci: disable native CPU optimizations for x64-cpu-low-perf builds
makaveli10 Mar 10, 2026
ff3c823
Add resume-from-checkpoint support to Metal LoRA fine-tuning
makaveli10 Mar 10, 2026
669a86f
Fix missing parameters for llama_swift_finetune_options
Mar 10, 2026
c48bc27
tests: disable TQ2_0 tests in test-backend-ops due to llvmpipe bug
makaveli10 Mar 10, 2026
3a3b97f
resume patch removed (#103)
dev-nid Mar 12, 2026
a6df77c
Update Readme (#104)
gianni-cor Mar 12, 2026
868de27
Check individual leafs to fix parallel GPU fine-tuning crash.
zoq Apr 3, 2026
3b59c1a
Fix type mismatch errors in Metal backend.
zoq Apr 8, 2026
c6baae4
Fix Metal shader runtime errors by removing superseded individual una…
zoq Apr 8, 2026
618e328
Use CMAKE_CURRENT_SOURCE_DIR to fix include/ resolution when built as…
zoq Apr 8, 2026
b1f93c4
Fix duplicate symbol link error on RISC-V by removing tq1_0/tq2_0.
zoq Apr 8, 2026
ecc65bf
Fix common include paths to use CMAKE_CURRENT_SOURCE_DIR so common/ a…
zoq Apr 8, 2026
80715a8
Add OUT_PROD support to CPU repack backend and fix LoRA buffer alloca…
zoq Apr 13, 2026
ccf5f2a
Added a build option that will only build and install the dependency …
Sero1000 Mar 30, 2026
8512974
Reduce VMA block size on integrated GPUs and release empty memory blo…
zoq Apr 15, 2026
6ca08c6
ggml-opencl: Add on-disk kernel binary cache for faster startup.
gianni-cor Mar 31, 2026
95e033b
lora: Fix SFT loss mask to exclude role tokens from supervised sequence
makaveli10 Apr 16, 2026
7042341
Use tiled OUT_PROD shaders on AMD RADV embedded GPUs.
afrantzis Apr 16, 2026
8cdbe8d
ggml-vulkan: Fix NaN outputs on Mali
makaveli10 Apr 22, 2026
1fcd986
ggml-vulkan: apply F16 coopmat workaround to Qualcomm Adreno GPUs
makaveli10 Apr 22, 2026
1f33c7d
Remove broken VMA defragmentation from ggml_vk_cleanup.
zoq Apr 22, 2026
05fcb21
Add load/unload test case.
zoq Apr 23, 2026
0e1375a
log: add opencl memory debug messages
Apr 28, 2026
cca3cc9
ggml-opencl: remove Q4_K and Q4_1 from GPU supports_op
May 1, 2026
17361cf
ggml-opencl: remove Q4_0, Q4_1, Q6_K from L4_LM dispatch
May 1, 2026
bd90189
Convert bf16 projector weights to f16 on load when the GPU backend la…
zoq May 1, 2026
1ced66b
Probe simdgroup intrinsic support at init and skip Metal devices that…
zoq May 5, 2026
1ab1c21
metal: Fall back to a temporary shared buffer.
zoq May 5, 2026
e6520a5
vulkan: fix F16 coopmat1 corruption on ARM Mali/Adreno by using non-c…
makaveli10 May 5, 2026
26d4c93
Mark read_alignment/has_direct_io as override to silence clang -Werro…
zoq May 13, 2026
ed1e04a
Route llama_file_disk::read_aligned_chunk through pimpl->read_raw on …
zoq May 13, 2026
1437df9
Fix Metal soft_max_back/rms_norm_back precision by dropping the nth=s…
zoq May 13, 2026
74fe2ca
Fix mtmd PRIVATE_HEADER path so cmake --install can find debug/mtmd-d…
zoq May 13, 2026
e6ba8cb
ci fix: Include scripts pkgs into requirements-all
May 14, 2026
20d23d0
common: Split jinja headers, add aux functions
zoq May 15, 2026
46f41bd
vulkan: Force f32 src1 through the strided cpy path which uses correc…
makaveli10 May 8, 2026
8588208
Keep TQ1_0/TQ2_0 on F32-src1 matmul path on Mali coopmat1.
zoq May 9, 2026
fa9542f
ggml-metal: Guard against NULL return from ggml_metal_buffer_init / g…
zoq May 18, 2026
3af90e0
ggml-backend: assert hash_set.used/keys are non-NULL on entry to sche…
zoq May 18, 2026
e6fefa1
ggml-metal: cache ggml_metal_device_get by index so each device's emb…
zoq May 19, 2026
cfaf2cc
ggml-metal: gate the simdgroup_mm probe behind MTLGPUFamilyApple1 so …
zoq May 19, 2026
71a33a8
ggml-backend: log the offending tensor's name, op and buffer/data/vie…
zoq May 19, 2026
a28511a
mtmd-clip: drop the Gemma 4 set_warmup_n_tokens(256) override
zoq May 19, 2026
5391b53
Revert "fix: keep output tensor on CPU for iOS to avoid Metal buffer …
zoq May 21, 2026
c41a846
ggml-metal: drop the residency-set keep-alive default from 3 minutes …
zoq May 21, 2026
4450815
ggml-vulkan, llama, common, mtmd: SSM_CONV dispatch fix
zoq May 27, 2026
507f36b
ggml-vulkan: align host buf alloc to minMemoryMapAlignment
Jun 12, 2026
fa10d5e
ggml-vulkan: disable ROPE+VIEW+SET_ROWS fusion on Mali/Adreno coopmat1
zoq May 28, 2026
99abaf0
ggml-vulkan: route TQ1_0/TQ2_0 MUL_MAT to CPU on Mali/Adreno coopmat1
zoq May 28, 2026
a727276
common: declare common_chat_msg_diff_to_json_oaicompat in chat.h
zoq May 29, 2026
d4350d4
llama : skip gemma4 sliding_window_pattern read on vocab-only ggufs
zoq May 29, 2026
5f36efc
ggml-vulkan: Add debug log for coopmat-v1 flags
korcan-h May 22, 2026
96706d0
ggml-vulkan: fix VkCooperativeMatrixPropertiesKHR list selection
korcan-h May 22, 2026
8a29124
ggml-vulkan: workaround-fix for coopmat properties with large shape s…
korcan-h May 22, 2026
0bc6852
ggml-vulkan: add new cm1 multi-mat path for f32 coopmat inputs
korcan-h May 22, 2026
8fb9fe5
ggml-vulkan: fix tile sizes for coopmat shape sizes greater than 16 (…
korcan-h May 26, 2026
74108cf
ggml-vulkan: remove Mali/Andreno specific workaround fixes for coopmats
korcan-h May 26, 2026
6bd80d5
ggml-opencl: restore Adreno kernels lost in b9341 rebase
zoq May 29, 2026
8534699
ggml-metal: drain residency set at teardown instead of asserting.
zoq Jun 3, 2026
32ec9ad
ci: disable native CPU optimizations for low-perf builds
jesusmb1995 Jun 2, 2026
f1a43f6
ggml-opencl: support quantized KV cache rows
gianni-cor Jun 4, 2026
76bcae4
llama : exclude QWEN3NEXT/QWEN35/QWEN35MOE from SPLIT_MODE_TENSOR
zoq May 29, 2026
ab56ab3
hip: allow-list gated_linear_attn_f32<64> VGPRs
Jun 15, 2026
eef3ff7
ui: Uprev playwright to 1.60 and add timeouts
Jun 16, 2026
ce66625
tests: download test model with retry + backoff
Jun 15, 2026
afd8efc
ggml-cpu: Add portable CPU prefetch hint macro
jesusmb1995 Jun 2, 2026
c17f475
ggml,ggml-cpu: TurboQuant core/cpu api changes
jesusmb1995 Jun 2, 2026
11104f3
ggml-vulkan: TurboQuant vulkan backend and shader integration
jesusmb1995 Jun 18, 2026
fb7096d
cmake: install convert_hf_to_gguf.py alongside vulkan_profiling_analy…
zoq Jun 18, 2026
d98243f
feat: support M-RoPE K-shift (#146)
gianni-cor Jun 8, 2026
92d96c1
ggml-vulkan,common,cmake: fix TurboQuant copy_to_quant codebook swap,…
zoq Jun 18, 2026
ab6931c
ggml-opencl: serialize lazy device-context and kernel-program init to…
zoq Jun 24, 2026
e201add
docs: update lora finetuning documentation.
zoq Jun 24, 2026
c54b256
Eval scripts for longbench, ZeroSCROLLS, L-Eval, NIAH added
dev-nid May 25, 2026
b24a567
NIAH eval removed
dev-nid May 26, 2026
4167b7e
Code refactored, tests: extract shared KV-cache eval helpers into kv_…
dev-nid May 27, 2026
c633f88
tests: add gkamradt-style NIAH KV-cache eval; fix ARG_MAX in _kv_infe…
dev-nid May 28, 2026
80d4091
common: fix use-after-free when adopting an externally-loaded model
jpgaribotti Jun 3, 2026
1475832
common: fix common_init_from_model_and_params returns nullptr on load…
jpgaribotti Jun 3, 2026
caad568
model-load: register split tensors in tensors_by_name during incremen…
jpgaribotti Jun 3, 2026
a1cb2a9
opencl : add CONV_2D_DW, POOL_2D, HARDSWISH, HARDSIGMOID kernels
olyasir Jun 16, 2026
a260b4c
kv-cache : cover GGSQ M-RoPE ext restore
gianni-cor Jun 17, 2026
27909bd
ggml-vulkan: remove TQ MUL_MAT -> CPU fallback on Mali/Adreno coopmat1
makaveli10 Jun 25, 2026
288e856
metal : add CONV_2D_DW (depthwise conv2d) kernel
olyasir Jun 10, 2026
43fbb02
metal : trim redundant kargs comments in conv_2d_dw dispatch
olyasir Jun 10, 2026
582e41c
metal : conv_2d_dw f32-only weights + enable CWHN
olyasir Jun 10, 2026
85b07fa
test : extend test_conv_2d_dw coverage (5x5, dilation, batch)
olyasir Jun 10, 2026
9cb8e0b
ggml: add GGML_OP_SIGMOID_BACK op
Jun 17, 2026
d42d7cf
ggml-cpu: implement sigmoid_back
Jun 17, 2026
3dd4711
ggml-vulkan: implement sigmoid_back
Jun 17, 2026
d2731ed
test-backend-ops: add sigmoid_back test
Jun 17, 2026
69e541e
ggml: Add stop-gradient backward for SSM, L2_NORM, GATED_DELTA_NET ops
makaveli10 Jun 18, 2026
f237c33
ggml: Add concat cpu backward pass
makaveli10 Jun 18, 2026
34d911d
ggml: Add TANH backward pass for cpu
makaveli10 Jun 18, 2026
259ffe0
ggml: add GELU backward
makaveli10 Jun 18, 2026
0ab8e8c
ggml: add MUL_MAT_ID backward (back_a, back_b)
makaveli10 Jun 19, 2026
d51a829
ggml: generalize get_rows_back to N-D tensors
makaveli10 Jun 19, 2026
d6171a2
ggml-vulkan: implement gelu_back
Jun 18, 2026
efb416e
test-backend-ops: add gelu_back test
Jun 18, 2026
52912fa
ggml: add L2_NORM_BACK op with CPU implementation
Jun 18, 2026
e4b0225
ggml-vulkan: implement L2_NORM_BACK
Jun 18, 2026
41f8a13
ggml: stop using stop-grad for L2_NORM_BACK
Jun 18, 2026
eca4729
test-backend-ops: add L2_NORM_BACK test
Jun 18, 2026
9407249
tests: fix crash for GET_ROWS_BACK
Jun 19, 2026
1b0f906
ggml-vulkan: implement MUL_MAT_ID_BACK_A
Jun 19, 2026
52b3404
test-backend-ops: add MUL_MAT_ID_BACK_A test
Jun 19, 2026
364c06d
ggml-vulkan: implement MUL_MAT_ID_BACK_B
Jun 19, 2026
1bf68e5
test-backend-ops: add MUL_MAT_ID_BACK_B test
Jun 19, 2026
48ecb08
test-backend-ops: add MUL_MAT_ID_BACK perf cases
Jun 19, 2026
28e264e
ggml-rpc: account for new backward ops (GGML_OP_COUNT 100->105), bump…
zoq Jun 22, 2026
69ac5c9
ggml-metal: implement gelu_back, l2_norm_back, and mul_mat_id_back_a/…
zoq Jun 22, 2026
ec72f4c
gml-vulkan: implement GATED_DELTA_NET_B.
zoq Jun 23, 2026
c1a442e
ggml: add SSM_CONV_BACK_SX and SSM_CONV_BACK_C ops
Jun 22, 2026
ee29b66
ggml-cpu: implement SSM_CONV_BACK_SX and SSM_CONV_BACK_C
Jun 22, 2026
e40b37b
ggml-vulkan: implement SSM_CONV_BACK_SX and SSM_CONV_BACK_C
Jun 22, 2026
45d4c49
test-backend-ops: add SSM_CONV_BACK tests and enable ssm_conv grad check
Jun 22, 2026
959c21b
ggml-metal: implement ssm_conv_back_sx/_c and gated_delta_net_back ba…
zoq Jun 24, 2026
ca08a4d
feat(mtmd/qwen3vl): multi-tile batching with --image-tile-mode
Jun 18, 2026
796603c
feat(mtmd/qwen3vl): global overview thumbnail for multi-tile encoding
Jun 23, 2026
396d39f
llama: add sequence token count memory API
gianni-cor Jun 23, 2026
79bf217
llama: add seq_token_count override for the DSA KV cache
zoq Jun 29, 2026
a2dfe42
Document TurboQuant benchmarks
gianni-cor May 28, 2026
18d130a
Link TurboQuant test coverage
gianni-cor May 28, 2026
67c52bb
Mention TurboQuant validation scripts
gianni-cor May 28, 2026
c6ee1c3
Update TurboQuant eval script links
gianni-cor May 28, 2026
e5a752e
Add PQ rows to Qwen benchmark highlights
gianni-cor May 28, 2026
cfab5a5
Use LongBench in TurboQuant quality summary
gianni-cor May 28, 2026
24948e6
Add Qwen3.5 f16 benchmark baseline
gianni-cor May 28, 2026
cb98a74
Add Qwen3.5 8k f16 benchmark baseline
gianni-cor May 28, 2026
263dad5
Avoid URL substring assertion in MCP test
gianni-cor May 28, 2026
21797f3
flake8 lint fix
dev-nid May 28, 2026
7df63e8
flak8 noprint lint fix, ty check fix
dev-nid May 28, 2026
c7c49f1
ggml: gemma 4 chat template parsing for LoRA finetune
makaveli10 Jun 18, 2026
2b9b3e0
llama-lora-training: MoE expert LoRA & tighten module matcher
makaveli10 Jun 19, 2026
617b26e
llama-graph: training-mode workarounds for MoE backward in build_moe_ffn
makaveli10 Jun 19, 2026
4a043dc
ggml-metal: implement the sigmoid_back backward op
zoq Jul 7, 2026
896f0ef
mtmd: use the M-RoPE position type in mtmd_test_create_input_chunks s…
zoq Jul 7, 2026
3c153cc
ggml: fixes bugs in GATED_DELTA_NET_BACK op through autograd path
korcan-h Jul 3, 2026
f460452
tests: add test for gated_deltanet_back op
korcan-h Jul 3, 2026
0738504
ggml-vulkan: optimize gated_delta_net_back with subgroup ops
korcan-h Jul 7, 2026
c9c63fb
Revert the CI/requirements/mtmd-test fixups (gg_wget curl fallback, e…
zoq Jul 8, 2026
8933b7e
mtmd: use the M-RoPE position type in mtmd_test_create_input_chunks s…
zoq Jul 8, 2026
395d168
doc: document the rope type setting
zoq Jul 8, 2026
cf5fa7c
vulkan: give the TBQ QJL correction its own push-constant struct matc…
zoq Jul 9, 2026
47bc924
ci: setup-node in the GPU-container build legs so the web UI builds f…
zoq Jul 13, 2026
bde76f6
ui: overlay the source static/ tree onto the dist so llama-ui-embed a…
zoq Jul 13, 2026
252f175
vulkan: run lazy pipeline compilation on a dedicated 8 MiB-stack thre…
zoq Jul 13, 2026
f908b2c
ci : functionally test the OpenCL ops on an Intel CPU ICD
olyasir Jun 16, 2026
4e44fb6
ci : drop -DLLAMA_FATAL_WARNINGS from opencl test job (upstream fall-…
olyasir Jun 17, 2026
29578a2
ggml-cpu: drop SVE/SVE2 from linux-arm64 CPU variants (keep SME, i8mm)
olyasir Jun 11, 2026
d048779
ggml-config: don't require find_dependency(Vulkan) under GGML_BACKEND_DL
olyasir Jun 11, 2026
74ebd8f
ggml-cpu: lower AMX MMQ optimization level for DL build
olyasir Jun 11, 2026
851df87
ggml-cpu: scope AMX mmq -O1 to the sapphirerapids DL variant
olyasir Jun 19, 2026
678fc89
ggml-cpu: add NOSVE to linux-arm64 armv9.2_1 variant
olyasir Jun 19, 2026
d630c74
ggml-cpu: scope AMX mmq -O1 to the sapphirerapids target via genex
olyasir Jun 19, 2026
3896275
tests: cover sequence token count memory API
gianni-cor Jun 24, 2026
a2903b6
fix[mtmd]: propagate image_tile_mode default and server wiring
Jun 24, 2026
00a4bcb
mtmd, vulkan : fix Gemma 4 E2B encoder token count + Android Vulkan b…
Alok-Ranjan23 Jun 25, 2026
29766a1
docs : add Gemma 4 E2B vision-encoder Vulkan op-coverage + hotspot an…
Alok-Ranjan23 Jun 25, 2026
b2e550c
mtmd, vulkan : Mali flash-attn tuning + budget-aware encoder attentio…
Alok-Ranjan23 Jun 30, 2026
6f00f6d
mtmd, vulkan : address PR#172 review — token count, CMake, FA guards …
Alok-Ranjan23 Jul 1, 2026
df39c8d
vulkan : keep SPIRV-Headers a build-only dep so ggml export stays cle…
Alok-Ranjan23 Jul 1, 2026
78ddfff
feat: repack quantized CLIP weights into the CPU i8mm buffer
olyasir Jul 1, 2026
86485b6
vulkan : address PR#172 review — port-aware Android headers + cached/…
Alok-Ranjan23 Jul 2, 2026
9d4c054
vulkan : fix MSVC build — give FA_OVERRIDE_MAX static storage (C3493)
Alok-Ranjan23 Jul 2, 2026
e4ad8d5
infra[notask]: add qvac-ci pending-approval workflow and CODEOWNERS
sidj-thr Jun 16, 2026
53a1d2e
infra[notask]: rename workflow file to check-approvals.yml
sidj-thr Jun 16, 2026
9ee921d
chore(ci): remove labeled trigger and verified label condition
sidj-thr Jun 16, 2026
7b02a3c
chore(ci): remove qvac-collabora-merge from CODEOWNERS
sidj-thr Jun 17, 2026
791f934
chore(ci): restrict check-approvals trigger to main and master branches
sidj-thr Jun 17, 2026
98919be
infra[notask]: remove legacy approval-worker workflows (#165)
sidj-thr Jun 23, 2026
3c0bb22
QVAC-21374 chore: bump @qvac/ci to 0.2.0 (#169)
sidj-thr Jun 25, 2026
24df661
fix(mtmd/qwen3vl): grid selection rewrite + --image-max-tiles override
yingying0906 Jul 2, 2026
77da9b7
fix(mtmd/qwen3vl): collapse batched attention loop + sequential default
yingying0906 Jul 2, 2026
ffb6ef4
fix(mtmd/qwen3vl): validate image_max_tiles at library boundary, scop…
yingying0906 Jul 2, 2026
12bdbab
doc(mtmd/qwen3vl): warn image_tile_mode zero-init selects batched, no…
yingying0906 Jul 2, 2026
2ed55f8
fix(mtmd/qwen3vl): treat image_max_tiles=0 as unset, not an override
yingying0906 Jul 6, 2026
fa2e13d
ggml-opencl: support antialiased BILINEAR upscale when upsampling
olyasir Jun 24, 2026
3b25e74
feat: QVAC-21320 Mali GPU projector optimizations — disable FA, warpt…
iancris Jun 28, 2026
b1cab36
fix: QVAC-21320 engage the Mali FA-disable on temp-9341 (coopmat != e…
iancris Jun 30, 2026
1ec3409
fix: QVAC-21320 keep clip FA on backends without the efficient-FA que…
iancris Jul 1, 2026
68e6c52
fix: QVAC-21320 tiled NORM dispatch — never exceed maxComputeWorkGrou…
iancris Jul 6, 2026
cceee22
fix: QVAC-21914 downgrade non-coopmat clip FA hard-disable to AUTO (b…
iancris Jul 7, 2026
82a26df
fix: QVAC-21914 bound ggml-opencl submissions (periodic clFlush + FA …
iancris Jul 7, 2026
fc09f36
fix: QVAC-21914 review fixes — work-budget flush, memory-clamp rework…
iancris Jul 8, 2026
99d6042
fix: QVAC-21914 make clip_fa_effective_min_kv inline (Windows DLL link)
iancris Jul 8, 2026
3da3e05
fix: QVAC-21914 address PR review — warn on env clamp, cover n_head g…
iancris Jul 8, 2026
7056f4c
fix: QVAC-21914 flush after enqueuing the budget-crossing node
iancris Jul 8, 2026
2b927cf
chore: QVAC-21914 address PR review — flush-cadence wording, nits
iancris Jul 8, 2026
a98c21a
vulkan: bounds-check the padded row index in norm/sum-family shaders …
zoq Jul 13, 2026
6053e42
vulkan: restore the nb00 element stride in the fused norm shader so n…
zoq Jul 13, 2026
1743c6b
vulkan: route the eager device-init ggml_vk_load_shaders through the …
zoq Jul 13, 2026
d529485
cuda: Fix OUT_PROD op support claim
Jul 13, 2026
e34f0b1
squash! lora: Add Instruction Finetuning support
zoq Jun 5, 2026
348a910
ggml-opencl: build flash-attn kernels without finite-math
olyasir Jul 14, 2026
7ae4bc9
ggml-opencl: treat null attention mask as bidirectional, not causal
olyasir Jul 14, 2026
ce54dd5
ggml-opencl: add trailing barrier in f32/f16 flash-attn tile loop + g…
iancris Jul 14, 2026
f1edb59
ci : disable OpenMP in wasm webgpu build
Jul 14, 2026
c060c41
ggml-vulkan: remove sc_carry scratch region (S_v * S_v) alloc/stride …
korcan-h Jul 13, 2026
2a399ae
ggml-vulkan: opt/cut gated_delta_net_back scratch traffic and lift oc…
korcan-h Jul 14, 2026
95fec93
ggml-opt: check tensor type when loading optimizer state
makaveli10 Jul 16, 2026
234dab5
lora: simplify gradient-connected KV retrieval to return k_cur/v_cur
makaveli10 Jul 16, 2026
3c77085
ggml-vulkan: avoid subgroupClusteredAdd in gated_delta_net shaders on…
zoq Jul 16, 2026
3d6c5ad
Revert "ggml-opencl: remove Q4_K and Q4_1 from GPU supports_op"
Jul 16, 2026
bd3e779
Revert "ggml-opencl: remove Q4_0, Q4_1, Q6_K from L4_LM dispatch"
Jul 16, 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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ exclude =
build,
# This contains builds that we don't want to check
dist # This is generated with `python build .` for package releases
scripts/tune
# max-complexity = 10
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @tetherto/qvac-internal-merge @tetherto/qvac-internal-mgmt
1 change: 1 addition & 0 deletions .github/workflows/build-apple.yml
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ jobs:
-DLLAMA_BUILD_BORINGSSL=ON \
-DGGML_METAL=OFF \
-DGGML_RPC=ON \
-DGGML_BLAS=OFF \
-DCMAKE_OSX_DEPLOYMENT_TARGET=13.3
time cmake --build build --config Release -j $(sysctl -n hw.logicalcpu)
Expand Down
134 changes: 66 additions & 68 deletions .github/workflows/build-cann.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,71 +34,69 @@ env:
LLAMA_ARG_LOG_TIMESTAMPS: 1

jobs:
# TODO: this build is disabled to save Github Actions resources (https://github.com/ggml-org/llama.cpp/pull/23705)
# in order to enable it again, we have to provision dedicated runners to run it
# openEuler-latest-cann:
# defaults:
# run:
# shell: bash -el {0}
# strategy:
# matrix:
# arch: [x86, aarch64]
# chip_type: ['910b', '310p']
# build: ['Release']
# use_acl_graph: ['on', 'off']
# exclude:
# # 310P does not support USE_ACL_GRAPH=on
# - chip_type: '310p'
# use_acl_graph: 'on'
# runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
# steps:
# - name: Checkout
# uses: actions/checkout@v6
# with:
# fetch-depth: 0
#
# - name: Free up disk space
# uses: ggml-org/free-disk-space@v1.3.1
# with:
# tool-cache: true
#
# - name: Set container image
# id: cann-image
# run: |
# image="ascendai/cann:${{ matrix.chip_type == '910b' && '8.5.0-910b-openeuler24.03-py3.11' || '8.5.0-310p-openeuler24.03-py3.11' }}"
# echo "image=${image}" >> "${GITHUB_OUTPUT}"
#
# - name: Pull container image
# run: docker pull "${{ steps.cann-image.outputs.image }}"
#
# - name: Build
# env:
# BUILD_TYPE: ${{ matrix.build }}
# SOC_TYPE: ascend${{ matrix.chip_type }}
# USE_ACL_GRAPH: ${{ matrix.use_acl_graph }}
# run: |
# HOST_UID=$(id -u)
# HOST_GID=$(id -g)
#
# docker run --rm \
# -v "${PWD}:/workspace" \
# -w /workspace \
# -e SOC_TYPE=${SOC_TYPE} \
# -e BUILD_TYPE=${BUILD_TYPE} \
# -e USE_ACL_GRAPH=${USE_ACL_GRAPH} \
# "${{ steps.cann-image.outputs.image }}" \
# bash -lc '
# set -e
# yum install -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs git gcc gcc-c++ make cmake openssl-devel
# yum clean all && rm -rf /var/cache/yum
# git config --global --add safe.directory "/workspace"
# export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/$(uname -m)-linux/devlib/:${LD_LIBRARY_PATH}
# cmake -S . -B build \
# -DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
# -DGGML_CANN=on \
# -DSOC_TYPE=${SOC_TYPE} \
# -DUSE_ACL_GRAPH=${USE_ACL_GRAPH}
# cmake --build build -j $(nproc)
#
# chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build
# '
openEuler-latest-cann:
defaults:
run:
shell: bash -el {0}
strategy:
matrix:
arch: [x86, aarch64]
chip_type: ['910b', '310p']
build: ['Release']
use_acl_graph: ['on', 'off']
exclude:
# 310P does not support USE_ACL_GRAPH=on
- chip_type: '310p'
use_acl_graph: 'on'
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0

- name: Free up disk space
uses: ggml-org/free-disk-space@v1.3.1
with:
tool-cache: true

- name: Set container image
id: cann-image
run: |
image="ascendai/cann:${{ matrix.chip_type == '910b' && '8.5.0-910b-openeuler24.03-py3.11' || '8.5.0-310p-openeuler24.03-py3.11' }}"
echo "image=${image}" >> "${GITHUB_OUTPUT}"

- name: Pull container image
run: docker pull "${{ steps.cann-image.outputs.image }}"

- name: Build
env:
BUILD_TYPE: ${{ matrix.build }}
SOC_TYPE: ascend${{ matrix.chip_type }}
USE_ACL_GRAPH: ${{ matrix.use_acl_graph }}
run: |
HOST_UID=$(id -u)
HOST_GID=$(id -g)

docker run --rm \
-v "${PWD}:/workspace" \
-w /workspace \
-e SOC_TYPE=${SOC_TYPE} \
-e BUILD_TYPE=${BUILD_TYPE} \
-e USE_ACL_GRAPH=${USE_ACL_GRAPH} \
"${{ steps.cann-image.outputs.image }}" \
bash -lc '
set -e
yum install -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs git gcc gcc-c++ make cmake openssl-devel
yum clean all && rm -rf /var/cache/yum
git config --global --add safe.directory "/workspace"
export LD_LIBRARY_PATH=${ASCEND_TOOLKIT_HOME}/lib64:${ASCEND_TOOLKIT_HOME}/$(uname -m)-linux/devlib/:${LD_LIBRARY_PATH}
cmake -S . -B build \
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
-DGGML_CANN=on \
-DSOC_TYPE=${SOC_TYPE} \
-DUSE_ACL_GRAPH=${USE_ACL_GRAPH}
cmake --build build -j $(nproc)

chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build
'
4 changes: 2 additions & 2 deletions .github/workflows/build-cmake-pkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
cmake --build build --config Release
cmake --install build --prefix "$PREFIX" --config Release
export LLAMA_CONFIG="$PREFIX"/lib/cmake/llama/llama-config.cmake
export LLAMA_CONFIG="$PREFIX"/share/llama/llama-config.cmake
tclsh <<'EOF'
set build(commit) [string trim [exec git rev-parse --short HEAD]]
set build(number) [string trim [exec git rev-list --count HEAD]]
Expand All @@ -47,5 +47,5 @@ jobs:
EOF
cd examples/simple-cmake-pkg
cmake -S . -B build -DCMAKE_PREFIX_PATH="$PREFIX"/lib/cmake
cmake -S . -B build -DCMAKE_PREFIX_PATH="$PREFIX"/share
cmake --build build
23 changes: 18 additions & 5 deletions .github/workflows/build-cpu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ on:
- master
paths: [
'.github/workflows/build-cpu.yml',
'.github/workflows/build-cmake-pkg.yml',
# Disable. There are some modifications in the fork
# so that ggml dynamic builds work with vcpkg.
# '.github/workflows/build-cmake-pkg.yml',
'.github/workflows/build-linux-cross.yml',
'**/CMakeLists.txt',
'**/.cmake',
'**/*.h',
Expand All @@ -20,7 +23,10 @@ on:
types: [opened, synchronize, reopened]
paths: [
'.github/workflows/build-cpu.yml',
'.github/workflows/build-cmake-pkg.yml',
# Disable. There are some modifications in the fork
# so that ggml dynamic builds work with vcpkg.
# '.github/workflows/build-cmake-pkg.yml',
'.github/workflows/build-linux-cross.yml',
'**/CMakeLists.txt',
'**/.cmake',
'**/*.h',
Expand All @@ -41,8 +47,8 @@ env:
LLAMA_ARG_LOG_TIMESTAMPS: 1

jobs:
build-cmake-pkg:
uses: ./.github/workflows/build-cmake-pkg.yml
# build-cmake-pkg:
# uses: ./.github/workflows/build-cmake-pkg.yml

ubuntu:
strategy:
Expand All @@ -60,10 +66,17 @@ jobs:
id: checkout
uses: actions/checkout@v6

- name: CPU feature hash
id: cpu_info
run: |
CPU_HASH=$(echo | gcc -march=native -dM -E - 2>/dev/null | sort | md5sum | cut -d' ' -f1)
echo "cpu_hash=${CPU_HASH}" >> "$GITHUB_OUTPUT"
echo "CPU feature hash: ${CPU_HASH}"

- name: ccache
uses: ggml-org/ccache-action@v1.2.21
with:
key: cpu-${{ matrix.os }}
key: cpu-${{ matrix.os }}-${{ steps.cpu_info.outputs.cpu_hash }}
evict-old-files: 1d
save: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}

Expand Down
1 change: 1 addition & 0 deletions .github/workflows/build-cross.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ concurrency:


jobs:
# Disabled. Fails to install some dependencies from arch-specific repositories.
# ubuntu-24-riscv64-cpu-cross:
# runs-on: ubuntu-24.04

Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/build-cuda-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,11 @@ jobs:
id: checkout
uses: actions/checkout@v6

- name: Setup Node.js (build the embedded web UI from source)
uses: actions/setup-node@v4
with:
node-version: 22

- name: Install dependencies
env:
DEBIAN_FRONTEND: noninteractive
Expand Down Expand Up @@ -81,6 +86,11 @@ jobs:
id: checkout
uses: actions/checkout@v6

- name: Setup Node.js (build the embedded web UI from source)
uses: actions/setup-node@v4
with:
node-version: 22

- name: Dependencies
id: depends
run: |
Expand Down Expand Up @@ -113,6 +123,11 @@ jobs:
id: checkout
uses: actions/checkout@v6

- name: Setup Node.js (build the embedded web UI from source)
uses: actions/setup-node@v4
with:
node-version: 22

- name: Dependencies
id: depends
run: |
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/build-opencl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,57 @@ jobs:
run: |
cmake -S . -B build -G "Ninja Multi-Config" -D CMAKE_TOOLCHAIN_FILE=cmake/arm64-windows-llvm.cmake -DCMAKE_PREFIX_PATH="$env:RUNNER_TEMP/opencl-arm64-release" -DGGML_OPENCL=ON -DGGML_OPENCL_USE_ADRENO_KERNELS=ON -DLLAMA_BUILD_BORINGSSL=ON
cmake --build build --config Release -j ${env:NUMBER_OF_PROCESSORS}

ubuntu-24-opencl:
runs-on: ubuntu-24.04

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

- name: ccache
uses: ggml-org/ccache-action@v1.2.21
with:
key: ubuntu-24-opencl
evict-old-files: 1d

- name: Dependencies
id: depends
run: |
sudo apt-get update
# intel-opencl-icd provides a CPU OpenCL device (same package set the
# OpenVINO job installs); the rest is the ICD loader + CL headers.
sudo apt-get install -y --no-install-recommends \
build-essential cmake clinfo \
ocl-icd-opencl-dev opencl-headers opencl-clhpp-headers intel-opencl-icd

- name: Build (GGML_OPENCL, portable kernels)
id: cmake_build
run: |
# NOTE: no -DLLAMA_FATAL_WARNINGS=ON — upstream ggml-opencl.cpp has
# intentional (un-annotated) case fall-throughs that GCC's
# -Wimplicit-fallthrough would turn into errors. This job's purpose is
# to run test-backend-ops, not to gate upstream warning-cleanliness.
cmake -B build \
-DGGML_OPENCL=ON \
-DLLAMA_BUILD_TOOLS=OFF \
-DLLAMA_BUILD_EXAMPLES=OFF \
-DLLAMA_BUILD_SERVER=OFF
time cmake --build build --config Release -j $(nproc) --target test-backend-ops

- name: Test backend ops (OpenCL)
id: test_backend_ops
run: |
# Functional coverage for the ggml-opencl ops DocTR uses on Adreno:
# CONV_2D (regular direct conv), CONV_2D_DW (depthwise), POOL_2D,
# HARDSWISH, HARDSIGMOID. These kernels load unconditionally (no
# GGML_OPENCL_USE_ADRENO_KERNELS gate), so they are portable OpenCL C
# and run here on the Intel CPU ICD, compared against the CPU
# reference. NOTE: a CPU ICD does NOT reproduce Adreno-compiler bugs
# (e.g. the char->float type-punning miscompile this PR works around) —
# that requires the manual Firebase Test Lab device run. This job is a
# regression net for kernel math / indexing / dtype correctness that a
# compile-only job cannot catch.
clinfo -l || true
./build/bin/test-backend-ops test -o CONV_2D,CONV_2D_DW,POOL_2D,HARDSWISH,HARDSIGMOID
31 changes: 29 additions & 2 deletions .github/workflows/build-vulkan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
id: depends
run: |
sudo apt-get update
sudo apt-get install -y gcc-14 g++-14 build-essential glslc libvulkan-dev spirv-headers libssl-dev ninja-build
sudo apt-get install -y gcc-14 g++-14 build-essential glslc libvulkan-dev spirv-headers libssl-dev ninja-build cmake
echo "CC=gcc-14" >> "$GITHUB_ENV"
echo "CXX=g++-14" >> "$GITHUB_ENV"

Expand Down Expand Up @@ -129,6 +129,33 @@ jobs:
export GGML_VK_VISIBLE_DEVICES=0
export GGML_VK_DISABLE_F16=1
export GGML_VK_DISABLE_COOPMAT=1
# NVIDIA Tesla T4 with driver 570.x has a known bug where any test
# that initializes the Vulkan backend can non-deterministically
# segfault during exit/cleanup inside libnvidia-gpucomp.so atexit
# handlers racing with the driver's [vkps] Update thread. All test
# cases pass but the process may crash on teardown. Upstream llama.cpp
# disabled their T4 Vulkan CI node entirely for the same reason.
# Workaround: on T4, tolerate SegFault-only failures since the crash
# is in the driver's exit path, not in the test logic.
# Refs: ggml-org/llama.cpp#10528, ggml-org/llama.cpp#10989
IS_T4=false
if nvidia-smi --query-gpu=name --format=csv,noheader 2>/dev/null | grep -q "T4"; then
IS_T4=true
echo "::notice::Detected NVIDIA T4 -- will tolerate segfault-on-exit (known driver bug)"
# FLASH_ATTN_EXT causes GPU shader hangs on T4 (Turing) FlashAttention path
export GGML_SKIP_FLASH_ATTN=1
fi
# Old cmdline for ctest
# ctest -L main --verbose --timeout 4200 2>&1 | tee ctest_output.log
# 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
ctest -L main -E test-backend-ops --verbose --timeout 900 2>&1 | tee ctest_output.log
CTEST_EXIT=${PIPESTATUS[0]}
if [ "$CTEST_EXIT" -ne 0 ] && [ "$IS_T4" = true ]; then
NON_SEGFAULT=$(sed -n '/The following tests FAILED:/,$p' ctest_output.log | grep -E '^\s+[0-9]' | grep -vic 'segfault' || true)
if [ "$NON_SEGFAULT" -eq 0 ]; then
echo "::warning::All test failures are SegFault-on-exit (NVIDIA T4 driver bug) -- treating as success"
exit 0
fi
fi
exit $CTEST_EXIT
Loading
Loading