koboldcpp/ggml/src
Max Krasnyansky aa50b2c2ae
hexagon: add support for Q4_1 in MUL_MAT and MUL_MAT_ID (#23647)
* hex-mm: add support for Q4_1 matmul/matvec, hvx-only for now

* hmx-mm: add support for Q4_1

* hex-mm: use Q8_1 dynamic quantization to avoid having to compute sums in the vec_dot

* hexagon: fix repack scratch buffer overflow

* hex-mm: fix Q4_1 repack buffer sizing

* hexagon: flip the build order for mm and fa (seems to help LTO)

* hex-mm: add vec_dot 4x1s and minor HMX cleanup after adding Q4_1

* hex-mm: fix fp16 vec_dot fallback to 2x1 and another issue that could cause incorrect output

* hexagon: resurrect early-wake and add support for polling for op-batch completions

With Q4_1 ggml-hexagon now claims pretty much the entire graphs which gives the CPU more time to chilax.
This is a good thing! But it does add extra latency for the pure benchmark runs.
Early wakeup helps recover the latency a bit in the normals runs and op-batch polling is just for benchmarking.

---------

Co-authored-by: Todor Boinovski <todorb@qti.qualcomm.com>
2026-05-27 10:46:11 -07:00
..
ggml-blas vulkan: add get/set tensor 2d functions (#22514) 2026-04-30 17:37:13 +02:00
ggml-cann vulkan: add get/set tensor 2d functions (#22514) 2026-04-30 17:37:13 +02:00
ggml-cpu ggml : Parallelize quant LUT init (#23595) 2026-05-25 10:15:46 +03:00
ggml-cuda CUDA: restrict PDL to CTK >= 12.3 due to MSVC issues (#23742) 2026-05-27 15:21:04 +03:00
ggml-hexagon hexagon: add support for Q4_1 in MUL_MAT and MUL_MAT_ID (#23647) 2026-05-27 10:46:11 -07:00
ggml-hip ggml: backend-agnostic tensor parallelism (experimental) (#19378) 2026-04-09 16:42:19 +02:00
ggml-metal metal : add apple device id (#23566) 2026-05-25 21:05:16 +03:00
ggml-musa ggml-cuda: native bf16 flash attention for vec kernel (#20525) 2026-03-22 11:05:51 +01:00
ggml-opencl opencl: batch profiling to improve speed and prevent memory leaks (#23495) 2026-05-23 23:11:43 -07:00
ggml-openvino openvino: driver setup, CI split, thread safety, and NPU optimizations (#21944) 2026-04-21 18:58:34 +03:00
ggml-rpc rpc : keep last_graph_uid in the device context (#23273) 2026-05-19 09:42:36 +03:00
ggml-sycl SYCL: implement ggml_sycl_pool_vmm (#22862) 2026-05-26 07:59:00 +03:00
ggml-virtgpu ggml-virtgpu : include missing mutex header (#22810) 2026-05-10 17:32:41 +02:00
ggml-vulkan vulkan: Switch MUL_MAT_VEC to 4 K per iteration for F16/32 (#22887) 2026-05-27 17:19:23 +02:00
ggml-webgpu ggml-webgpu: Fix how to dispatch WG to some ops (#23750) 2026-05-27 09:48:12 -07:00
ggml-zdnn vulkan: add get/set tensor 2d functions (#22514) 2026-04-30 17:37:13 +02:00
ggml-zendnn ggml-zendnn : fixed naming of matmul function (#20964) 2026-05-27 00:59:35 +02:00
CMakeLists.txt ggml : Parallelize quant LUT init (#23595) 2026-05-25 10:15:46 +03:00
ggml-alloc.c ggml-alloc: fix out-of-bounds read in ggml_dyn_tallocr_remove_block (ggml/1492) 2026-05-25 12:38:01 +03:00
ggml-backend-dl.cpp hexagon: enable offloading to Hexagon on Windows on Snapdragon (#19150) 2026-01-29 12:33:21 -08:00
ggml-backend-dl.h hexagon: enable offloading to Hexagon on Windows on Snapdragon (#19150) 2026-01-29 12:33:21 -08:00
ggml-backend-impl.h ggml: backend-agnostic tensor parallelism (experimental) (#19378) 2026-04-09 16:42:19 +02:00
ggml-backend-meta.cpp TP: fix ggml context size calculation (#22616) 2026-05-25 12:37:25 +03:00
ggml-backend-reg.cpp ggml : skip already registered backends and devices (#22296) 2026-04-28 10:02:32 +03:00
ggml-backend.cpp ggml : Check the right iface method before using the fallback 2d get (#23514) 2026-05-23 12:49:24 +02:00
ggml-common.h ggml: add Q1_0 1-bit quantization support (CPU) (#21273) 2026-04-06 20:55:21 +02:00
ggml-impl.h ggml: add graph_reused (#21764) 2026-04-16 17:21:28 +08:00
ggml-opt.cpp fix: free ctx_copy in ggml_opt_free to plug per-training-session leak (#21592) 2026-04-08 17:40:15 +02:00
ggml-quants.c ggml : Parallelize quant LUT init (#23595) 2026-05-25 10:15:46 +03:00
ggml-quants.h ggml: add Q1_0 1-bit quantization support (CPU) (#21273) 2026-04-06 20:55:21 +02:00
ggml-threading.cpp ggml : build backends as libraries (#10256) 2024-11-14 18:04:35 +01:00
ggml-threading.h remove CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS (#10797) 2024-12-12 19:02:49 +01:00
ggml.c llama + spec: MTP Support (#22673) 2026-05-16 20:06:23 +08:00
ggml.cpp ggml : Print backtrace on uncaught C++ exceptions (ggml/1232) 2025-06-01 13:43:57 +03:00
gguf.cpp ggml: gguf_init_from_callback and gguf_init_from_buffer (#22341) 2026-05-25 11:33:29 +02:00